ASP.NET Core发布在已发布的文件夹中生成大量DLL,为什么?

Exo*_*omp 5 windows asp.net .net-core asp.net-core

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

在此输入图像描述

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

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

aka*_*mis 5

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

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

因此,以前在框架中可用的许多依赖项现在都被移动到NuGet包中,因为你知道NuGet包中存在一系列依赖项,所以我们的发布输出中会有这么多的库,这很好.

另一点是,大多数情况下,我们使用的项目模板具有太多可能不需要的依赖项.因此,我们可以从一个非常小的模板开始,并在其中添加所需的东西,或从更加chuncky模板中删除无用的东西.

  • 这个答案没有解决为什么它们在 web 文件夹的 ROOT 中,而不是在它们所属的 BIN 文件夹中!-1 (3认同)
  • 有没有办法将所有这些 Nuget 包 dll 放在一个名为 bin 的文件夹下??? (2认同)