广西十一选五玩法|广西十一选五开奖查询
  • .NET Core 最小化發布

    發布:51Code 時間: 2018-12-21 14:00

  • .NET Core 應用最小化獨立部署發布,.NET Core 默認應用獨立發布,大概占用50m左右的空間,不同的系統大小有所區別。 .NET Core 的發布之前我也有所介紹,.NET Core 跨平臺發布(dotnet publish)...

  • .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  同樣可以,需要注意的是,如果項目引用了相關工具,需要自己做調整。

    文章來源:網絡
    上文內容不用于商業目的,如涉及知識產權問題,請權利人聯系博為峰小編(021-64471599-8103),我們將立即處理。
  • 上一篇:基于.NET Standard的分布式自增ID算法--Snowflake

    下一篇:Surging1.0發布在即,.NET開發者們,你們還在等什么

網站導航
Copyright(C)51Code軟件開發網 2003-2019 , 滬ICP備05003035號-6
广西十一选五玩法 简单的二人扑克牌玩法 浙江福彩快乐12下载 爱丽丝恐怖游戏攻略 酒吧5个骰子玩法及讲解 稳赚不赔的投资软件 天天棋牌飞禽走兽技巧 体球网即时比分手机版 信誉大的彩票平台 腾讯天天捕鱼赢话费充值 百人牛牛单机版游戏下载