標籤:golang 調用 build 依賴項 run art lan string otn
本文主要描述.NET CORE在Ubuntu上“自包含應用”不一來.NET SDK發布(類似於golang的方式)
1.用rider或者直接用dotnet new方式建立一個項目;可以看到產生了兩個檔案
dotnet new 會建立一個最新的 project.json 檔案,其中包含產生控制台應用所必需的 NuGet 依賴項。 它還將建立 Program.cs,這是包含應用程式的進入點的基本檔案。
2.vim編輯project.json
A.去除 "type": "platform" 節點(如果以Managed 程式碼方式發布,則不用修改)
B.添加runtimes節點,在節點下添加"ubuntu.16.04-x64":{}
3.載入依賴項樹
dotnet restore 調用到 NuGet 以恢複依賴項樹。 NuGet 分析 project.json 檔案、下載檔案中所述的依賴項(或從電腦緩衝中擷取)並編寫 project.lock.json 檔案。 需要 project.lock.json 檔案才可進行編譯和運行。
project.lock.json 檔案是 NuGet 依賴項和其他描述應用的資訊的持久化完整圖片集。 此檔案由其他工具(如 dotnet build 和 dotnet run)讀取,讓它們可以使用正確的 NuGet 依賴項和綁定解決方案集處理原始碼。
4.
$ dotnet run 編譯並運行(當測試使用,可以直接到第五步)
dotnet run 調用 dotnet build 來確保已產生要產生的目標,然後調用 dotnet <assembly.dll> 運行目標應用程式。
5.dotnet build
6.通過dotnet publish發布(發布的時候選著runtimes裡面的節點項,如:ubuntu.16.04-x64,如果不選則預設第一個)
7.發布以後進入ConsoleApp1/bin/Debug/netcoreapp1.0/ubuntu.16.04-x64目錄下
注意:是特定平台下的庫(這兒是ubuntu.16.04-x64)
8.進入後通./運行檔案名稱
註:這兒的運行檔案名稱,win平台下是exe,linux下無尾碼名
.NET CORE在ubuntu1604上運行