.NET Core 實戰筆記2-從命令開始

楠槡發表於2018-01-07

上一篇簡要介紹了 .NET Core平臺,本篇對dotnet命令進行講解。

.NET Core作為跨平臺產品,不再只依賴於Windows的圖形化介面系統,因而推出的dotnet命令 成為了開發 .NET Core應用程式的一個新的跨平臺工具鏈的基礎。因此,掌握dotnet命令之後,就可以在任何支援平臺上使用同樣的命令進行開發管理。

dotnet命令——從實際專案入手

dotnet的命令有很多,沒有必要一一列舉出來,對於開發人員來說,最好的記憶方式就是實踐。

建立(dotnet new)

dotnet new 顧名思義,就是新建一個dotNet Core專案,dotnet core有很多型別的專案,因此,需要同時給new指令新增屬性來新建制定模板的專案。如下圖,使用dotnet new -h列出了dot net core中的專案模板及其簡寫。

dotnet-new

我們先來建立一個簡單的控制檯應用程式,也就是console

new-console

還原(dotnet restore和dotnet pack)

再來建立一個class lib也就是類庫,讓前面建立的控制檯程式來呼叫這個類庫。

dotnet new classlib

new-clb

現在為建立好的CLB的預設類Class1.cs新增兩個方法,然後打包。

using System;
namespace app_clb
{
    public class Class1
    {
        public void Printout()
        {
            System.Console.WriteLine("Class Lib Print!");
        }
        public string GetStr()
        {
            return "return lib";
        }
    }  
}
複製程式碼

打包需要兩條指令:

  • dotnet restore
  • dotnet pack

restore

完成打包後,將applib新增到console_appapp.csproj中。

app.csproj中新增如下內容:

新增後之前切換到console_app目錄,執行指令,將CLB包含到專案中。

dotnet restore -s C:\dotnet\app_clb\bin\Debug\

dotnet restore -s + 包的路徑

restoreb

然後就能直接在專案中呼叫app_clb中的的方法。

using System;
using app_clb;
namespace console_app1
{
    class Program
    {
        static void Main(string[] args)
        {
            Class1 obj =new Class1();
            obj.Printout();
            System.Console.WriteLine(obj.GetStr());
            System.Console.WriteLine("Hello World!");
        }
    }
}
複製程式碼

執行(dotnet build和dotnet run)

dotnet build 即編譯當前目錄下的程式碼檔案為可執行程式

build

dotnet run則是允許已經編譯好的可執行程式

run

同時,dotnet app.dll也是執行程式。

測試(dotnet test)

新建一個資料夾及專案

dotnet new xunit

新建好後直接新增測試方法,執行測試,這裡直接執行測試

dotnet restore

dotnet test

test

釋出(dotnet publish)

dotnet core是跨平臺的開發平臺,所以釋出的軟體當然是具有跨平臺執行的能力的。

先新增節點,開啟console_app1.csprojPropertyGroup節點中加入:

<RuntimeIdentifiers>win10-x64;ubuntu.14.04-x64</RuntimeIdentifiers>

還原專案dotnet restore,然後釋出

dotnet publish預設釋出

dotnet publish -r win10-x64 釋出配置資訊中新增好的win10-x64

dotnet publish -r ubuntu.14.01-x64 釋出配置資訊中新增好的ubuntu

publish

相關文章