.NET Core 最小化发布
.NET Core 應用最小化獨立部署發布,.NET Core 默認應用獨立發布,大概占用50m左右的空間,不同的系統大小有所區別。
.NET Core 的發布之前我也有所介紹,.NET Core 跨平臺發布(dotnet publish)?具體可以看這篇文章。
今天來看看.NET Core 最小化發布部署,可以節省一半左右的空間。
?
使用 dotnet new 命令創建應用
然后打開 project.json 文件,然后將 frameworks 部分替換為以下內容:
"frameworks": {"netstandard1.6": {}},?
這有兩個用途:
它表示應用只使用 .NET 標準庫。
刪除 "type": "platform" 屬性即表示將框架作為一套本地組件提供給應用,而不是作為系統范圍內的平臺包。
接著將 dependencies 部分替換為以下內容:
"dependencies": {"NETStandard.Library": "1.6.0","Microsoft.NETCore.Runtime.CoreCLR": "1.0.2","Microsoft.NETCore.DotNetHostPolicy": "1.0.1"},接著創建 runtimes 部分,然后指定該應用作為目標的每個平臺的運行時標識符。 以下 runtimes 為 win10 64位?以及 ubuntu14.04 64位。
"runtimes": {"win10-x64": {},"ubuntu.14.04-x64":{}}然后運行 dotnet restore 命令,以還原項目中指定的依賴項。
?
還原好以后運行dotnet publish 命令發布對應系統版本的應用。
?
dotnet publish -r win10-x64 dotnet publish -r ubuntu.14.04-x64也可增加 -c Release 指定為發布版本,如:dotnet publish -c Release?-r win10-x64
如未指定Release ,默認在Debug 目錄下。
下圖左邊為最小化發布,右邊是正常發布,都可以正常運行。
?
將對應標識下的publish 文件夾復制到對應系統,即可運行。
完整 project.json 文件如下。
{"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":{}} }?
經過探索,如果只是默認控制臺輸出還可以減少體積,將?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 ?同樣可以,需要注意的是,如果項目引用了相關工具,需要自己做調整。
?
如果你覺得本文對你有幫助,請點擊“推薦”,謝謝。
轉載于:https://www.cnblogs.com/linezero/p/netcoremini.html
總結
以上是生活随笔為你收集整理的.NET Core 最小化发布的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 柳州汽车畅销东盟的原因?
- 下一篇: Python自动化开发之基础篇--Day