使用VS Code開發調試.NET Core 多項目


使用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沒有下載下來。

 

同樣的我們可以調試代碼,也可以進到類庫。

 

如果你覺得本文對你有幫助,請點擊“推薦”,謝謝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM