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,再次啟動調試。啟動成功。

 

 


免責聲明!

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



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