创建 NETStandard 2.0 NuGet 包时排除 NuGet 依赖

Exclude NuGet dependency when creating NETStandard 2.0 NuGet Package

我正在尝试在我的 .NET Standard 2.0 程序集中创建 NuGet 包。我使用 PackageReference 格式添加了三 (3) 个不同的 NuGet 包,并选择了 "Generate NuGet package on build" 选项。一切正常,除了我使用的其中一个包只包含一个 .targets 文件,我不想将其作为依赖项包含在内。

GeneratePackageOnBuild 设置为 true 的 .NET 标准程序集上使用 msbuild 时,是否有任何方法可以指定 PackageReference 不属于包依赖项?

PackageReference 项目支持一些额外的元数据值。其中之一是 PrivateAssets,它控制哪些资产不会转发给消费者。当它设置为 "all" 时,生成的 nuspec 中的依赖项将被完全避免——即包不会出现在依赖图中:

<ItemGroup>
  <PackageReference Include="JetBrains.Annotations" Version="11.1.0" PrivateAssets="All" />
</ItemGroup>