.NETCore最小化發(fā)布

.NET Core 應用最小化獨立部署發(fā)布,.NET Core 默認應用獨立發(fā)布,大概占用50m左右的空間,不同的系統(tǒng)大小有所區(qū)別。

創(chuàng)新互聯(lián)建站成立以來不斷整合自身及行業(yè)資源、不斷突破觀念以使企業(yè)策略得到完善和成熟,建立了一套“以技術為基點,以客戶需求中心、市場為導向”的快速反應體系。對公司的主營項目,如中高端企業(yè)網(wǎng)站企劃 / 設計、行業(yè) / 企業(yè)門戶設計推廣、行業(yè)門戶平臺運營、重慶APP開發(fā)公司、手機網(wǎng)站開發(fā)、微信網(wǎng)站制作、軟件開發(fā)、綿陽機房托管等實行標準化操作,讓客戶可以直觀的預知到從創(chuàng)新互聯(lián)建站可以獲得的服務效果。

.NET Core 的發(fā)布之前我也有所介紹,.NET Core 跨平臺發(fā)布(dotnet publish) 具體可以看這篇文章。

今天來看看.NET Core 最小化發(fā)布部署,可以節(jié)省一半左右的空間。

 

使用 dotnet new 命令創(chuàng)建應用

然后打開 project.json 文件,然后將 frameworks 部分替換為以下內(nèi)容:

  "frameworks": {    "netstandard1.6": {}
  },

 

這有兩個用途:

它表示應用只使用 .NET 標準庫。

刪除 "type": "platform" 屬性即表示將框架作為一套本地組件提供給應用,而不是作為系統(tǒng)范圍內(nèi)的平臺包。

接著將 dependencies 部分替換為以下內(nèi)容:

 "dependencies": {   "NETStandard.Library": "1.6.0",   "Microsoft.NETCore.Runtime.CoreCLR": "1.0.2",   "Microsoft.NETCore.DotNetHostPolicy":  "1.0.1"
 },

接著創(chuàng)建 runtimes 部分,然后指定該應用作為目標的每個平臺的運行時標識符。 以下 runtimes 為 win10 64位 以及 ubuntu14.04 64位。

  "runtimes": {    "win10-x64": {},    "ubuntu.14.04-x64":{}
  }

然后運行 dotnet restore 命令,以還原項目中指定的依賴項。

 

還原好以后運行dotnet publish 命令發(fā)布對應系統(tǒng)版本的應用。

 

dotnet publish -r win10-x64
dotnet publish -r ubuntu.14.04-x64

也可增加 -c Release 指定為發(fā)布版本,如:dotnet publish -c Release -r win10-x64

如未指定Release ,默認在Debug 目錄下。

下圖左邊為最小化發(fā)布,右邊是正常發(fā)布,都可以正常運行。

.NET Core 最小化發(fā)布

 

將對應標識下的publish 文件夾復制到對應系統(tǒng),即可運行。

完整 project.json 文件如下。

.NET Core 最小化發(fā)布

{  "version": "1.0.0-*",  "buildOptions": {    "debugType": "portable",    "emitEntryPoint": true
  },  "dependencies": {    "NETStandard.Library": "1.6.0",    "Microsoft.NETCore.Runtime.CoreCLR": "1.0.2",    "Microsoft.NETCore.DotNetHostPolicy": "1.0.1"
  },  "frameworks": {    "netstandard1.6": {}
  },  "runtimes": {    "win10-x64": {},    "ubuntu.14.04-x64":{}
  }
}

.NET Core 最小化發(fā)布

 

經(jīng)過探索,如果只是默認控制臺輸出還可以減少體積,將 NETStandard.Library 引用替換為具體的引用,不過這個沒有多大必要。

更小化:

  "dependencies": {    "System.Runtime":"4.1.0",    "System.Console":"4.0.0",    "Microsoft.NETCore.Runtime.CoreCLR": "1.0.2",    "Microsoft.NETCore.DotNetHostPolicy": "1.0.1"
  },

此方法對ASP.NET Core  同樣可以,需要注意的是,如果項目引用了相關工具,需要自己做調(diào)整。

分享名稱:.NETCore最小化發(fā)布
鏈接地址:http://muchs.cn/article22/pihocc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設、定制開發(fā)、虛擬主機企業(yè)網(wǎng)站制作、網(wǎng)站營銷網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司