dotnet Core 学习(三):多项目

程序开发过程中基本都是由多个项目组成一个完整的解决方案。今天主要学习下如何在Visual Studio Code中进行多项目开发。

1.项目创建

首先创建一个文件夹MultiProject类似于Visual Studio中的解决方案文件夹。

在MultiProject分别创建dotNetCoreApp和dotNetCoreLib文件夹。

在这里dotNetCoreApp为一个控制台应用程序项目,dotNetCoreLib为类库项目用于被引用。相关命令如下:

创建文件夹MultiProject:

mkdir MultiProject

创建项目:dotNetCoreApp:

mkdir dotNetCoreApp
cd..
cd dotNetCoreApp
dotnet new -t Console

创建项目:dotNetCoreLib:

mkdir dotNetCoreLib
cd..
cd dotNetCoreLib
dotnet new -t Lib

2.项目引用

使用Visual Studio Code打开MultiProject文件夹,如下图所示:

打开dotnetCoreApp文件夹下的project.json文件,添加对dotNetCoreLib项目的引用。

{
  "version": "1.0.0-*",
  "buildOptions": {
    "debugType": "portable",
    "emitEntryPoint": true
  },
  "dependencies": {},
  "frameworks": {
    "netcoreapp1.1": {
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.1.0"
        },
        "dotNetCoreLib":{
          "target":"project"
        }
      },
      "imports": "dnxcore50"
    }
  }
}

修改dotNetCoreLib项目中命名空间名称为dotNetCoreLib,在dotNetCoreLib项目中添加Libray类,并新增Method1方法:

using System;

namespace dotNetCoreLib
{
    public class Libray
    {
        public string Method1()
        {
            return "Hello dotNetCoreApp";
        }
    }
}

在dotnetCoreApp引用并调用dotNetCoreLib类库中的Method1方法:

using System;
using dotNetCoreLib;
namespace ConsoleApplication
{
    public class Program
    {
        public static void Main(string[] args)
        {
            Library lib=new Library();
            Console.WriteLine(lib.Method1());
            Console.ReadLine();
        }
    }
}

3.多项目调试

使用Visual Studio Code 1.7.2进行单项目的调试基本不用修改任何的配置,多项目调试稍微有些麻烦。

首先选择调试环境.Net Core,生成launc.json,如下图所示:

目前Visual Studio Code 1.7.2版本对下图中的目标平台和项目名称已经进行了自动填充,但是对于多项目还是和之前一样

所以我们需要将该处修改如下:

"configurations": [
        {
            "name": ".NET Core Launch (console)",
            "type": "coreclr",
            "request": "launch",
            "preLaunchTask": "build",
            "program": "${workspaceRoot}/bin/Debug/netcoreapp1.1/dotNetCoreApp.dll",
            "args": [],
            "cwd": "${workspaceRoot}",
            "stopAtEntry": false,
            "externalConsole": false
        },

配置完launch.json后,点击调试按钮,会提示我们“配置任务运行程序”,如下图所示:

点击“配置任务运行程序”,会出现下图选择,我们当然选择.Net Core。如下图所示

接下来会生成task.json文件,然后再次点击“调试”按钮,会出现如下图错误:preLaunchTask“build”已终止,退出代码为 1。

这就是我们多项目调试需要重点注意的地方,这里我们需要将task.json文件进行如下修改:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "command": "dotnet",
    "isShellCommand": true,
    "args": [],
    "tasks": [
        {
            "taskName": "build",
            "args": [
                "${workspaceRoot}/dotNetCoreApp/project.json"
            ],
            "isBuildCommand": true,
            "showOutput": "silent",
            "problemMatcher": "$msCompile"
        }
    ]
}

这里配置的是我们主项目的project.json路径。

配置完成后,当我们再次点击”调试“按钮,发现依然不能通过,报错如下:

这个错误非常明显,我们再次对launch.json做出如下修改:

"configurations": [
        {
            "name": ".NET Core Launch (console)",
            "type": "coreclr",
            "request": "launch",
            "preLaunchTask": "build",
            "program": "${workspaceRoot}/dotNetCoreApp/bin/Debug/netcoreapp1.1/dotNetCoreApp.dll",
            "args": [],
            "cwd": "${workspaceRoot}",
            "stopAtEntry": false,
            "externalConsole": false
        },

到这里就完全OK,再次启动调试。启动成功。

时间: 2024-10-29 19:07:08

dotnet Core 学习(三):多项目的相关文章

dotnet Core 学习(一):环境搭建

1.环境搭建 Windows下环境搭建:http://www.microsoft.com/net/core#windowsvs2015 Linux下环境搭建:http://www.microsoft.com/net/core#linuxcentos Windows下VS Code环境配置: VS Code下载地址:https://code.visualstudio.com/ 安完成后,在VS Code中安装C#插件:C# for Visual Studio Code (powered by Om

dotnet Core 学习(二):Configuration

程序开发过程中,配置文件是必不可少的,之前.net 开发读取配置文件都会先引用System.Configuration类库,在.net Core开发中可以通过引用Microsoft.Extensions.Configuration实现这些功能,不但可以方便的读取之前类似Web.config/App.Config的XML文件,而且还能很方便的读取JSON.INI格式的文件. 注:目前.net Core版本已到1.1.0版本,Visual Studio Code 1.7.2,本人也已及时做了更新.

dotnet core 中间件

## 官方说明 中间件是一种装配到应用管道以处理请求和响应的软件. 每个组件: 选择是否将请求传递到管道中的下一个组件. 可在管道中的下一个组件前后执行工作. 请求委托用于生成请求管道. 请求委托处理每个 HTTP 请求. 使用 RunMap 和 Use 扩展方法来配置请求委托. 可将一个单独的请求委托并行指定为匿名方法(称为并行中间件),或在可重用的类中对其进行定义. 这些可重用的类和并行匿名方法即为中间件 ,也叫中间件组件 . 请求管道中的每个中间件组件负责调用管道中的下一个组件,或使管道短

Ubuntu运行DOTNET Core MVC(基础,非部署项目)

一. 配置 Ubuntu18.04.3 LTS DOTNET Core3.0 SDK 1.更新 sudo apt-get update 二.安装DOTNET Core SDK 1.首先注册微软密钥以及所需依赖 wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-micro

Android的学习之路(三)项目的启动过程和安装过程详解

应用的安装和启动过程: 安装:第一步:java的编译器会把这个.java文件编译成.class文件 第二部:Android的SDK提供了一个dx工具,这个工具把.class文件转义成.dex文件 第三部:打包操作,把.dex文件和资源文件进行打包,打包成一个压缩文件,然后进行签名.最后就打包成为了.apk文件 第四部:调用adb指令:adb install c:/x.apk安装到模拟器 具体过程:.JAVA---->.class--.dx-->.dex--->打包签名--->.ap

解决VS2015无法调试dotnet core项目

dotnet core 1.0正式版和VS2015 update3安装后一直无法在VS中正常调试. 错误提示:The debugger's worker process (msvsmon.exe) unexpectedly exited. Debugging will be aborted. 这不是偶然现象,因为我的两台电脑都出现同样的问题. 为此我尝试过以下方式: 1. 重新安装DotNetCore.1.0.0-VS2015Tools.Preview2    无效 2. 重新安装DotNetC

Docker 部署Dotnet Core MVC项目

1.dotnet core创建项目 dotnet new mvc -o myweb cd myweb 然后就是业务代码的编辑,增删改查乱七八糟的需求上的东西吧,总之就是一顿coding.... dotnet publish -o ./release 项目就发布到 release文件夹了 然后为docker创建一个创建镜像的文件 也叫dockerfile  不懂的可以看下官方api 内容如下: donetcore.dockerfile FROM microsoft/dotnet RUN mkdir

【ASP.NET Core分布式项目实战】(五)Docker制作dotnet core控制台程序镜像

Docker制作dotnet core控制台程序镜像 基于dotnet SDK 新建控制台程序 mkdir /home/console cd /home/console dotnet new console dotnet restore 创建 Dockerfile 文件,参考https://github.com/dotnet/dotnet-docker/blob/master/samples/aspnetapp/Dockerfile vim /home/console/Dockerfile #

dotnet core项目引用的sdk升级后,项目编译失败

前几天发布了dotnet core 3.1正式版,然后我把之前基于3.0开发的项目升级到3.1后,在用控制台使用dotnet run命令,却出现“当前SDK不支持3.1,请把项目目标框架降到3.0或更早的版本”的报错信息. 第一反应是查看电脑是否已经安装了最新的sdk.在电脑的“卸载或更改程序”中能搜索到3.1的sdk,并且在控制台下用dotnet --info 查看了之后,发现sdk和runtime都是有3.1的.这个时候感觉有点奇怪.使用dotnet --version命令查看版本,是为最新