博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dotnet Core 学习(三):多项目
阅读量:6875 次
发布时间:2019-06-26

本文共 3364 字,大约阅读时间需要 11 分钟。

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

1.项目创建

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

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

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

   创建文件夹MultiProject:

mkdir MultiProject

  创建项目:dotNetCoreApp:

 

mkdir dotNetCoreAppcd..cd dotNetCoreAppdotnet new -t Console

  创建项目:dotNetCoreLib:

 

mkdir dotNetCoreLibcd..cd dotNetCoreLibdotnet 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,再次启动调试。启动成功。

 

 

转载于:https://www.cnblogs.com/leizhanjun/p/6105885.html

你可能感兴趣的文章
jq 必用选择器的使用示例
查看>>
Linux设备管理(五)_写自己的sysfs接口
查看>>
Linux i2c子系统(三) _解决probe无法执行
查看>>
第九篇 消息通信模式(上) 请求应答与单向
查看>>
帧率与码率的概念
查看>>
Reactor模式
查看>>
java反射机制
查看>>
Android面试题
查看>>
【转】Sublime Text 2 - 简单介绍
查看>>
mongoose 小问题
查看>>
福大软工 · 第十一次作业 - Alpha 事后诸葛亮(团队)
查看>>
python爬虫笔记3
查看>>
Linux环境测试机器端口连通性
查看>>
关于Linux连接工具mobaxterm显示中文乱码问题
查看>>
iphone-common-codes-ccteam源代码 CCUILabel.h
查看>>
码农们:你属于哪一种极品程序员?
查看>>
【Daily】Javascript事件对象
查看>>
时间记录日志
查看>>
菜谱查询接口文档
查看>>
Mybatis——SQL语句构建器类
查看>>