.NET Core 應(yīng)用最小化獨(dú)立部署發(fā)布,.NET Core 默認(rèn)應(yīng)用獨(dú)立發(fā)布,大概占用50m左右的空間,不同的系統(tǒng)大小有所區(qū)別。
創(chuàng)新互聯(lián)建站成立以來不斷整合自身及行業(yè)資源、不斷突破觀念以使企業(yè)策略得到完善和成熟,建立了一套“以技術(shù)為基點(diǎn),以客戶需求中心、市場(chǎng)為導(dǎo)向”的快速反應(yīng)體系。對(duì)公司的主營(yíng)項(xiàng)目,如中高端企業(yè)網(wǎng)站企劃 / 設(shè)計(jì)、行業(yè) / 企業(yè)門戶設(shè)計(jì)推廣、行業(yè)門戶平臺(tái)運(yùn)營(yíng)、重慶APP開發(fā)公司、手機(jī)網(wǎng)站開發(fā)、微信網(wǎng)站制作、軟件開發(fā)、綿陽(yáng)機(jī)房托管等實(shí)行標(biāo)準(zhǔn)化操作,讓客戶可以直觀的預(yù)知到從創(chuàng)新互聯(lián)建站可以獲得的服務(wù)效果。
.NET Core 的發(fā)布之前我也有所介紹,.NET Core 跨平臺(tái)發(fā)布(dotnet publish) 具體可以看這篇文章。
今天來看看.NET Core 最小化發(fā)布部署,可以節(jié)省一半左右的空間。
使用 dotnet new 命令創(chuàng)建應(yīng)用
然后打開 project.json 文件,然后將 frameworks 部分替換為以下內(nèi)容:
"frameworks": { "netstandard1.6": {} },
這有兩個(gè)用途:
它表示應(yīng)用只使用 .NET 標(biāo)準(zhǔn)庫(kù)。
刪除 "type": "platform" 屬性即表示將框架作為一套本地組件提供給應(yīng)用,而不是作為系統(tǒng)范圍內(nèi)的平臺(tá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 部分,然后指定該應(yīng)用作為目標(biāo)的每個(gè)平臺(tái)的運(yùn)行時(shí)標(biāo)識(shí)符。 以下 runtimes 為 win10 64位 以及 ubuntu14.04 64位。
"runtimes": { "win10-x64": {}, "ubuntu.14.04-x64":{} }
然后運(yùn)行 dotnet restore 命令,以還原項(xiàng)目中指定的依賴項(xiàng)。
還原好以后運(yùn)行dotnet publish 命令發(fā)布對(duì)應(yīng)系統(tǒng)版本的應(yīng)用。
dotnet publish -r win10-x64 dotnet publish -r ubuntu.14.04-x64
也可增加 -c Release 指定為發(fā)布版本,如:dotnet publish -c Release -r win10-x64
如未指定Release ,默認(rèn)在Debug 目錄下。
下圖左邊為最小化發(fā)布,右邊是正常發(fā)布,都可以正常運(yùn)行。
將對(duì)應(yīng)標(biāo)識(shí)下的publish 文件夾復(fù)制到對(duì)應(yīng)系統(tǒng),即可運(yùn)行。
完整 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":{} } }
經(jīng)過探索,如果只是默認(rèn)控制臺(tái)輸出還可以減少體積,將 NETStandard.Library 引用替換為具體的引用,不過這個(gè)沒有多大必要。
更小化:
"dependencies": { "System.Runtime":"4.1.0", "System.Console":"4.0.0", "Microsoft.NETCore.Runtime.CoreCLR": "1.0.2", "Microsoft.NETCore.DotNetHostPolicy": "1.0.1" },
此方法對(duì)ASP.NET Core 同樣可以,需要注意的是,如果項(xiàng)目引用了相關(guān)工具,需要自己做調(diào)整。
分享名稱:.NETCore最小化發(fā)布
鏈接地址:http://chinadenli.net/article22/pihocc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、定制開發(fā)、虛擬主機(jī)、企業(yè)網(wǎng)站制作、網(wǎng)站營(yíng)銷、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)