17

.NET Core 中 *deps.json 文件的用途是什么?将引用存储在此类文件中而不是程序集清单中的原因是什么(如在独立的 .NET Framework 中)?

使用 Ildasm 我检查了程序集清单在 dotnet build 命令之后不包含这些依赖项的条目。

但它在 dotnet publish 命令之后有条目。

4

1 回答 1

16

.deps.json文件包含有关已构建程序集引用的程序集的元数据和搜索它们的位置以及有关使用的编译选项的信息。

corehost此信息由加载和配置运行时的本机组件 ( ) 读取。当需要加载引用的程序集时,主机将使用此文件(以及任何runtimeconfig.json/ runtimeconfig.dev.json)中的信息来定位要加载的正确程序集。

此信息也用于其他地方。例如 ASP.NET Core 的 Razor 视图编译也使用它来将正确的引用和配置传递给生成的代码。当单元测试库加载到测试主机时,单元测试主机也需要使用该文件中的信息。Microsoft.Extensions.DependencyModelNuGet 包中提供了用于读取和写入此文件的托管 API 。

于 2017-10-07T17:29:31.287 回答