温馨提示:本文翻译自stackoverflow.com,查看原文请点击:c# - How to publish only required dependencies?
.net .net-core c#

c# - 如何仅发布必需的依赖项?

发布于 2020-03-27 11:28:59

如果我在Visual Studio 2017中创建“ Hello World” .NET Core C#控制台应用程序并运行

dotnet publish -c Release -r win10-x64 --self-contained

生成的publish文件夹中有215个文件,总计62MB,并包含应用程序不使用的整个.NET。例如,它具有System.Security.Cryptography.OpenSsl.dll

这是“ Microsoft.NETCore.App”依赖项的一部分,我似乎无法手动进行编辑。如何将其缩减为应用程序实际使用的内容?

查看更多

查看更多

提问者
Asik
被浏览
148
NightOwl888 2018-03-13 21:16

根据部署文档

与FDD不同,自包含部署(SCD)不依赖于目标系统上共享组件的存在。应用程序包括所有组件,包括.NET Core库和.NET Core运行时

(强调我的)

如果不想与应用程序一起部署整个.NET Core运行时,则应使用框架相关的部署(FDD)而不是自包含的部署(SCD)。

dotnet publish -c Release

将来,CoreRT运行时撰写本文时仍在开发中)旨在允许创建一个特定于运行时且不需要任何其他文件的预编译本机可执行文件。

参考:有没有一种方法可以使控制台应用程序仅使用.NET Core中的单个文件来运行?