【发布时间】:2016-12-15 17:00:13
【问题描述】:
我使用 .NET Core Framework 在 Visual Studio 2015 中创建了一个简单的 Web API 项目。当我使用默认设置发布此项目时,它会创建以下内容:
总共有 155 个 DLL,其中 77 个位于 PublishOutput 根目录中,78 个位于 refs 文件夹中。
- 为什么要将所有的 DLL 都放在发布文件夹中?难道就不能 从单个共享引用安装它们的 DLL 地点?
【问题讨论】:
-
文件夹包含您的原始应用程序结构以及转储的所有 nuget 依赖程序集。
-
@M. Wiśnicki,我的问题更多是关于它为什么这样做,我可以理解它是否是第 3 方依赖项,但这些 DLL 不是 .NET Core 框架的一部分吗?我想我有点困惑,为什么一个简单的 Web API 项目需要 155 个单独的 DLL,我想我一定没有正确配置它?
-
您可以选择加入或退出依赖项。它是非常模块化的,只有您从 project.json 所依赖的内容才包含在您的应用程序中。必须在 Web 主机上安装框架的旧单片方式意味着如果没有主机安装更新,您将无法获得依赖项的更新版本。像这样的大型单体,更新很少。您甚至可以使用您的应用程序部署运行时,因此它不依赖于 Web 主机上安装的运行时版本
-
@JoeAudette 在 Visual Studio 创建的 project.json 文件的默认 .NET Core Web API 项目中没有定义 155 个 DLL。我确实看到定义了一些依赖项,所以你的意思是这些依赖项是需要所有这些 DLL 的包,全部 155 个?此外,是否可以选择加入和退出 DLL,还是只能在依赖项/包级别进行?
-
一些依赖有自己的其他依赖,所以你的应用的直接依赖通常会有其他的依赖
标签: asp.net windows asp.net-core .net-core