ASP.NET核心发布会在发布的文件夹中产生大量的DLL,为什么?

我使用.NET Core Framework在Visual Studio 2015中创build了一个简单的Web API项目。 当我使用默认设置发布此项目时,会创build以下内容:

在这里输入图像说明

总共有155个DLL ,PublishOutput根目录中有77个,refs文件夹中有78个。

  • 为什么把所有的DLL放在发布文件夹? 难道不能只从一个共享位置引用安装它们的DLL吗?

与以前版本的.net框架相比,Dotnet核心往往是非常小的。

在dotnet核心中,主要目的是使核心框架尽可能小,如果你需要更多的东西,通过NuGet包来引入它

因此,以前在框架中可用的许多依赖关系现在被移到了NuGet包中,而且你知道NuGet包中有一系列依赖关系,所以我们最终会在发布输出中包含很多库,这很好。

还有一点,大多数情况下,我们使用的项目模板具有太多的依赖关系,可能并不需要。 所以我们可以从一个非常小的模板开始,添加所需的东西,或者从一个更加粗糙的模板中删除无用的东西。