没有运行时资产的 NuGet 包未包含在 deps.json

删除 NuGet 包或其他不参与任何运行时资产的库现在会从 deps.json 文件中排除,如果删除它们不会导致依赖项解析问题。

已引入的版本

.NET 10 预览版 5

以前的行为

以前,所有引用的 NuGet 包和项目都作为库条目包含在 deps.json 文件中,即使其中没有使用任何资产也是如此。

新行为

NuGet 包或其他库可能从 deps.json 文件中排除(如果:

  • 它们不参与任何运行时资产,并且
  • 从 deps.json 中删除库不会导致任何参与运行时资产的库不再具有依赖项路径。

破坏性变更的类型

此更改可能会影响 源兼容性

更改原因

deps.json 文件列出了运行时依赖项,由加载程序用来加载这些依赖项。 其他一些工具还处理 deps.json 文件。 包括实际使用的库不太准确,并且对于使用 deps.json 文件的安全扫描程序,可能会导致误报。

若要禁用新行为,请将 TrimDepsJsonLibrariesWithoutAssets MSBuild 属性设置为 false

<PropertyGroup>
  <TrimDepsJsonLibrariesWithoutAssets>false</TrimDepsJsonLibrariesWithoutAssets>
</PropertyGroup>

受影响的 API

没有。

另请参阅