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套件
使用指令: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檔
首先建立測試專案 dotnet new mstest -n class1lib.test
建立一個名為 class1lib.test 的測試專案,完成之後直接用VSCode打開
因為我現在要測試第一個步驟建立的類別庫,所以要在專案檔內加入參考
點選專案檔之後,編輯內容,將第一個步驟建立的類別庫專案檔加入參考
加入專案參考是 ProjectReference ,不是PackageReference
加入之後,在程式碼內加入測試的片段
接著使用 dotnet build -> dotnet test 依序測試
測試失敗,很正常,因為expect跟class1回傳的結果不符,
只要把expect改為跟回傳的職相符即可
指令 dotnet test -t 可檢視目前有多少方法可以測試
這樣簡單的單元測試就建立完成
透過 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
指令:dotnet list reference 可以用來檢視目前專案有哪些參考
由下圖可以看到,目前專案console2(1) 只有一個專案參考,classlib1(2)
使用指令: dotnet remove reference ..\classlib1\classlib1.cspro 可以remove指定的參考
使用指令: dotnet add reference ..\classlib1\classlib1.cspro 可以Add 指定的參考
使用type指令看一下console2.csproj,可看到目前專案有一個NuGet Package
指令 dotnet remove package Newtonsoft.Json 可以移除
指令 dotnet add package Newtonsoft.Json 可以重新新增回來