.NET Core中的* deps.json文件

时间:2017-10-07 15:46:53

标签: c# .net .net-core .net-assembly ildasm

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

使用Ildasm我在dotnet构建命令后检查了程序集清单中是否包含这些依赖项的条目。

但它在dotnet发布命令后有条目。

1 个答案:

答案 0 :(得分:8)

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

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

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