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

时间:2018-02-07 20:04:03

标签: .net msbuild nuget .net-standard-2.0

我正在尝试在.NET Standard 2.0程序集上创建一个NuGet包。我使用PackageReference格式添加了三(3)个不同的NuGet包,我选择了“在构建时生成NuGet包”选项。一切正常,除了我消耗的一个包只包含一个.targets文件,我不希望将其作为依赖包含。

PackageReference设置为true的.NET标准程序集上使用msbuild时,有没有办法指定GeneratePackageOnBuild不成为程序包依赖项的一部分?

1 个答案:

答案 0 :(得分:5)

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

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