.NET Core 2.0应用程序大小减少50%_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > .NET Core 2.0应用程序大小减少50%

.NET Core 2.0应用程序大小减少50%

 2017/9/5 11:09:00  LineZero  程序员俱乐部  我要评论(0)
  • 摘要:.NETCore2.0应用程序减小体积瘦身官方工具ILLinker。ILLinker来源于mono的linkerhttps://github.com/mono/linker,目前还是预览版本。在一般的情况下,链接器可以将应用程序的大小减少50%,大型应用程序的大小可能更有利,链接器会删除应用程序中的代码和依赖库,而这些代码不会被任何代码路径访问。它实际上是应用程序特定的无效代码分析。下面正式开始体验版本必须为.NETCore2.0新建应用新建一个控制台应用dotnetnewconsole
  • 标签:程序 .net net 应用 应用程序

 .NET Core 2.0应用程序减小体积瘦身官方工具 IL Linker。

 IL Linker 来源于mono的linker  https://github.com/mono/linker,目前还是预览版本

在一般的情况下,链接器可以将应用程序的大小减少50%,大型应用程序的大小可能更有利,链接器会删除应用程序中的代码和依赖库,而这些代码不会被任何代码路径访问。它实际上是应用程序特定的无效代码分析

下面正式开始体验

版本必须为.NET Core 2.0

新建应用

新建一个控制台应用

dotnet new console -o linkdemo

然后添加nuget.config

dotnet new nuget

接着在config 中加入 <add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" /> 如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <packageSources>
    <!--LineZero -->
    <clear />
    <add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
 </packageSources>
</configuration>

添加ILLink 程序包

dotnet add package ILLink.Tasks -v 0.1.4-preview-906439

新版本可以到https://dotnet.myget.org/feed/dotnet-core/package/nuget/Illink.Tasks 查看

发布程序

  • dotnet publish -c release -r <RID> -o out
  • <RID> 以下值可用 win-x64win-x86linux-x64osx-x64

win10 包含linker的发布

dotnet publish -c release -r win10-x64 -o linker

不包含linker

dotnet publish -c release -r win10-x64 -o nolinker /p:LinkDuringPublish=false

都可以成功执行。

我们看看体积大小。

 

 基本上减小50%以上,文件减少3/2 。

  • /p:LinkDuringPublish=false - 禁用链接器。
  • /p:ShowLinkerSizeComparison=true - 显示应用程序大小缩小的列表。

显示程序缩小列表

dotnet publish -c release -r win10-x64 -o linker /p:ShowLinkerSizeComparison=true

 

真正意义上的.NET Core 瘦身。

参考文档:https://github.com/dotnet/core/blob/master/samples/linker-instructions.md

上一篇: 迎接iPhone 8!苹果发新神器:2888元的Studio3耳机 下一篇: 没有下一篇了!
发表评论
用户名: 匿名