首页 > 解决方案 > Asp.net core 2.0部署海量dll

问题描述

我到处寻找解决方案,但找不到。

我有一个用 asp.net core 2.0 开发的项目

我定期发布它,并且在发布(从 Visual Studio)时,发布文件夹仅包含应用程序的 dll 和一些依赖项。

该项目托管在安装了 asp.net 运行时的 linux 机器上,一切都很好。

然后我为另一个项目安装了 asp.net 2.1 sdk,并将 Visual Studio 2017 升级到了最新版本。

现在,当我发布 asp.net core 2.0 项目时,我得到了很多以前没有包含的额外 dll。但是,当发布 asp.net core 2.1 项目时,一切都很好。只有项目 dll 和依赖项。

我正在使用依赖于框架的部署和 Microsoft.AspNetCore.All 元包。据我了解,此包中应仅包含必需的 dll,而不应包含所有内容。

总而言之,我想要一个发布输出,假设目标主机已经包含 asp.net core 2.0 运行时,只包含不属于该运行时的 dll。它以前可以工作,现在不行。如何解决这个问题?

感谢我能得到的任何帮助。:-)

标签: asp.net.netasp.net-core

解决方案


我相信您正在使用自包含部署模式发布应用程序,而不是依赖于框架。您可以在此处阅读更多信息 https://docs.microsoft.com/en-us/dotnet/core/deploying/

编辑发布配置文件并选择框架相关选项

在此处输入图像描述


推荐阅读