使用Visual Studio Code(VS Code)開發調試.NET Core和ASP.NET Core 多項目multiple project。
之前講解過如果使用Visual Studio Code(VS Code) 開發單個.NET Core和ASP.NET Core項目,大家也都知道如何開發。
多項目可能有些人還不大了解,今天給大家介紹一下。
本文將介紹如何開發調試多項目,及項目的引用,以及多項目的切換。
環境安裝
本文開發環境:
WIN10 x64
Visual Studio Code 1.4.0
C# 插件 1.3.0
.NET Core SDK Installer:
https://download.microsoft.com/download/A/3/8/A38489F3-9777-41DD-83F8-2CBDFAB2520C/packages/DotNetCore.1.0.0-SDK.Preview2-x64.exe
SDK 如果安裝過 RC2及之前版本,請先卸載然后再安裝。
更多系統版本下載:
https://www.microsoft.com/net/download
VS Code :
https://code.visualstudio.com/
VS Code C#插件:
點擊控制面板左側擴展,然后搜索C# 安裝即可。
安裝好插件以后重啟VS Code。
環境安裝好了,就可以正式開始了。
創建多項目
創建項目采用dotnet new 命令,更多dotnet 命令使用,可以參考: http://www.cnblogs.com/linezero/p/dotnet.html
這里我先創建一個名為:dotnet 的根目錄。
然后依次創建 multiapp multiapplib multiappweb。
所有命令如下:
mkdir dotnet cd dotnet mkdir multiapp mkdir multiapplib mkdir multiappweb cd multiapp dotnet new cd .. cd multiapplib dotnet new -t lib cd .. cd multiappweb dotnet new -t web
所有命令執行完以后,得到如下目錄。
VS Code 開發調試
下面我們就使用VS Code 打開文件夾 dotnet 。注意:這里打開的文件夾是 dotnet
打開文件夾我們打開multiapp 的Program.cs。
然后 注意右下角 Running ,這里我們點擊選擇multiapp
會提示是否創建文件及還原,這里我們選擇Yes和Restore。
下面我們來添加項目引用。打開multiapp 的project.json ,添加如下引用:
{ "version": "1.0.0-*", "buildOptions": { "debugType": "portable", "emitEntryPoint": true }, "dependencies": {}, "frameworks": { "netcoreapp1.0": { "dependencies": { "Microsoft.NETCore.App": { "type": "platform", "version": "1.0.0" }, "multiapplib": { "version": "1.0.0", "target": "project" } }, "imports": "dnxcore50" } } }
在 dependencies 節點中加入 multiapplib
然后在 multiapplib 加入User 類。然后再multiapp 中使用。
public class User { public int Id { get; set; } public string UserName { get; set; } public string Password { get; set; } public override string ToString() { return $"user:{UserName}{Password}"; } }
加好User Class 我們首先右下角點擊一下multiapp 切換到 multiapplib。
等到Running 變成 Switch project 我們再切換到 multiapp。這樣就會有智能提示。
然后在multiapp 中添加命令空間,然后使用。
調試就能正常的調試及,進入類庫調試。
下面我們以multiappweb 為主項目引用 multiapplib ,然后調試ASP.NET Core 多項目。
這里由於一個目錄沒辦法存在兩個主項目,所以我們先刪除掉dotnet文件夾下 .vscode。
然后打開dotnet 文件夾,選擇項目 multiappweb,然后再讓VS Code生成.vscode。
同樣添加引用,
"dependencies": { "multiapplib": { "version": "1.0.0", "target": "project" }, ...
我們在Controller 中使用
using ClassLibrary; public IActionResult Index() { User u=new User(); u.Id=1; u.UserName="linezero"; u.Password="123123"; return View(u); }
對應的View
@model ClassLibrary.User
<h1>@Model.UserName</h1>
<h3>@Model.ToString()</h3>
代碼編寫好以后,我們調試程序會發現出錯,因為ASP.NET Core 讀取不到正確的路徑。
默認生成的配置文件,將dotnet 做為了目錄。這里我們要做一個更改。
打開dotnet 目錄下的 .vscode 的launch.json
將cwd 及sourceFileMap 都加上multiappweb 路徑。
然后我們再來調試。
成功執行,默認將會為我們打開 http://localhost:5000/ 這里沒有樣式是因為bootstrap沒有下載下來。
同樣的我們可以調試代碼,也可以進到類庫。
如果你覺得本文對你有幫助,請點擊“推薦”,謝謝。