gpt4 book ai didi

deployment - 优化 .NET Core 自包含部署

转载 作者:行者123 更新时间:2023-12-05 01:00:58 25 4
gpt4 key购买 nike

我正在开发一个简单的跨平台 .NET 应用程序。我需要将其作为独立部署分发,因为我无法假设是否已经安装了 .NET。

.NET 发布适用于 Windows 10 64 位会生成一个 64 MB 的目录。我很确定不需要大多数 DLL 文件。有没有办法优化分发以便只保留必要的 DLL 文件?

最佳答案

我也面临同样的问题。到目前为止,这是我发现的:

微软发布了Trim tool找到未使用的程序集并删除它们。

使用 .NET CLI:

  • dotnet add package Microsoft.Packaging.Tools.Trimming -v 1.1.0-preview1-25818-01
  • dotnet publish -r win-x64 -c release /p:TrimUnusedDependencies=true

您的应用程序的占用空间现在要小得多(通常)


为了更好的优化,您可以将它与 ILLinker 一起使用:

  • dotnet new nuget

打开 nuget.config 并添加 <add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" /> <packageSource>之间

Here是您的 nuget.config 应该是什么样子的示例。

然后执行以下命令:

  • dotnet add package ILLink.Tasks -v 0.1.4-preview-981901
  • dotnet add package Microsoft.Packaging.Tools.Trimming -v 1.1.0-preview1-25818-01
  • dotnet publish -r win-x64 -c release /p:TrimUnusedDependencies=true

使用这两个工具,我设法将应用程序的大小除以三。

来源: Reducing the size of self-contained .NET Core applications


我仍在努力进行更好的优化。我想在只有 10 MB 的嵌入式系统中运行我的 ASP.NET Core 应用程序(当前为 72 MB)。

如果有人找到更好的优化,我是买家。

关于deployment - 优化 .NET Core 自包含部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48009976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com