开发环境:windows 编辑器: Visual Studio Code
环境安装:
.Net Core 1.1 SDK https://www.microsoft.com/net/core#windowscmd
1.新建一个多项目文件夹multiproject,cmd命令 :mkdir multiproject,也可以用右键添加新建文件夹。(ps:vscode调试控制台也有终端,也可输入cmd命令)
2.在multiproject目录下新建dotnetnewapp控制台项目,在cmd窗口输入
cd multiproject
mkdir dotnetnewapp
cd dotnetnewapp
dotnet new
这样就在multiproject下新建了dotnetnewapp项目。
3.新建一个类库项目 dotnetnewlib :同样需要切换到目录multiproject下,在cmd窗口输入
mkdir dotnetnewlib
cd dotnetnewlib
dotnet new -t lib
这样就在multiproject下新建了dotnetnewlib 项目。
4.在 dotnetnewlib添加calculator.cs文件
using System; namespace dotnetnewlib { public class calculator { public static int add(int a,int b ) { return a + b; } } }
5.dotnetnewapp引用类库dotnetnewlib。
(1)在dotnetnewapp目录下修改project.json,添加dotnetlib引用。
{ "version": "1.0.0-*", "buildOptions": { "debugType": "portable", "emitEntryPoint": true }, "dependencies": {}, "frameworks": { "netcoreapp1.1": { "dependencies": { "Microsoft.NETCore.App": { "type": "platform", "version": "1.1.0" }, "dotnetnewlib":{ "target":"project", "version": "1.0.0" } }, "imports": "dnxcore50" } } }
(2)修改program.cs文件
using System; using dotnetnewlib; namespace ConsoleApplication { public class Program { public static void Main(string[] args) { int result = calculator.add(2,3); Console.WriteLine($"Hello World {result}!"); } } }
6.在cmd下编译运行项目。
(1)编译类库:切换到dotnetnewlib目录,在cmd下输入
dotnet restore
dotnet build
(2)编译并运行dotnetnewapp项目:切换到dotnetnewapp目录,在cmd下输入
dotnet restore
dotnet build
dotnet run
可以看到输出:Hello World 5!
7.用vscode运行dotnetnewapp项目
打开multiproject文件夹,点击左边的调试菜单,点击设置,选择.net core,可新建launch.json文件,直接点击调试按钮,会提示缺少task.json文件,是否新建,选择新建。
运行后依然报错。
需要配置如下:
launch.json,在.NET Core Launch (console)配置项配置program和cmd为dotnetnewapp项目生成的dll路径和项目路径
{ "name": ".NET Core Launch (console)", "type": "coreclr", "request": "launch", "preLaunchTask": "build", "program": "${workspaceRoot}/dotnetnewapp/bin/Debug/netcoreapp1.1/dotnetnewapp.dll", "args": [], "cwd": "${workspaceRoot}/dotnetnewapp", "stopAtEntry": false, "externalConsole": false }
tasks.json,添加options项,并设置cmd为为dotnetnewapp项目路径
{ // 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": [], "isBuildCommand": true, "showOutput": "silent", "problemMatcher": "$msCompile" } ], "options": { "cwd": "${workspaceRoot}/dotnetnewapp" } }
继续点击开始调试按钮,可看到调试控制台输出 Hello World 5!
8.打开dotnetnewapp项目的program.cs文件,发现calculator并没有代码提示,vscode最下边的蓝色的栏目右边有一个switch projects或者是2 projects,点击它。
上面弹出下拉框,选择project.json dotnetnewapp 。确定后发现代码提示有了。接着就可以添加断点进行调试了。
最后:附上项目文件截图,可以看到dotnetnewapp/bin/Debug/netcoreapp1.1下面生成了dotnetnewlib.dll和dotnetnewapp.dll
ps:上述内容大部分参考网上资料结合自己总结。原理部分还没研究,有些地方也忽略描述了~