使用.Net CLI來建立 .NET Core 2.0 類別庫、測試專案、方案檔、專案管理

1.使用.Net Core CLI來建立 .NET Core 2.0 類別庫

2.使用.Net Core CLI來建立 .NET Core 2.0 測試專案

3.使用.Net Core CLI來建立 .NET Core 2.0 方案檔

4.使用.Net Core CLI 管理專案參考

5.使用.Net Core CLI 管理專案NuGet套件

1.使用.Net CLI來建立 .NET Core 2.0 類別庫

使用指令:dotnet new classlib -n classlib1 產生一個類別庫的專案

-o 輸出一個資料夾、-n決定專案名稱 ,不過結果是差不多的,都會建立資料夾

專案檔的csproject跟上一篇產生的主控台專案有點不一樣

使用指令 type classlib1.csproj 可以在command視窗裡面開啟文件

下圖是剛剛建立的類別庫專案檔

比較上一篇建立的主控台專案

主要是少了OutoutType,也就是說建立的類別庫不是一個執行檔,他就只是一個類別庫。

建立好類別庫之後,簡單的加上一段Code,然後開始建置

使用dotnet build 的時候,如果後面加上 -c Release ,例如: dotnet build -c Release

就可以建置出Release的版本

由下圖可以看出差異

(1)沒有加參數,所以build出來的dll就放在Debug資料夾底下(2)

(3) 加上 -c Release,所以build出來的dll就放在Release資料夾底下(4)

類別庫裡面不能使用 dotnet run 去執型,因為不是可執行檔

但是一樣可以使用 dotnet publish 去發行,後面一樣可以加上 -c Release 去發行Release版本

在.Net Core跟 .Net Standrrd架構下,所有的類別庫預設都會封裝為一個NuGet的Package

指令 dotnet pack 就會自動把這個專案封裝為一個NuGet的Package

發行出來是一個zip檔

2.使用.Net CLI來建立 .NET Core 2.0 測試專案

首先建立測試專案  dotnet new mstest -n class1lib.test

建立一個名為 class1lib.test 的測試專案,完成之後直接用VSCode打開

因為我現在要測試第一個步驟建立的類別庫,所以要在專案檔內加入參考

點選專案檔之後,編輯內容,將第一個步驟建立的類別庫專案檔加入參考

加入專案參考是 ProjectReference不是PackageReference

加入之後,在程式碼內加入測試的片段

接著使用 dotnet build ->  dotnet test 依序測試

測試失敗,很正常,因為expect跟class1回傳的結果不符,

只要把expect改為跟回傳的職相符即可

指令 dotnet test -t 可檢視目前有多少方法可以測試

這樣簡單的單元測試就建立完成

3.使用.Net CLI來建立 .NET Core 2.0 方案檔

透過 dotnet new sln 來建立方案檔,預設會跟資料夾名稱相同

建立完之後使用 ren createProject.sln Solution1.sln 來變更方案檔名稱

之後再將底下的所有專案檔加入方案檔之中

dotnet sln Solution1.sln add console2\console2.csproj

dotnet sln Solution1.sln add classlib1\classlib1.csproj

dotnet sln Solution1.sln add classlib1.test\classlib1.test.csproj

接著打方案名稱就可以開啟VS2017

4.使用.Net Core CLI 管理專案參考

指令:dotnet list reference 可以用來檢視目前專案有哪些參考

由下圖可以看到,目前專案console2(1) 只有一個專案參考,classlib1(2)

使用指令: dotnet remove reference ..\classlib1\classlib1.cspro 可以remove指定的參考

使用指令: dotnet add reference ..\classlib1\classlib1.cspro 可以Add 指定的參考

 

5.使用.Net Core CLI 管理專案NuGet套件

使用type指令看一下console2.csproj,可看到目前專案有一個NuGet Package 

指令  dotnet remove package Newtonsoft.Json 可以移除

指令  dotnet add package Newtonsoft.Json 可以重新新增回來