创建 NuGet 包时出现问题,需要下载其他包
Issues with creating NuGet packages, requires other packages to be downloaded
我不确定为什么会这样,但这让我抓狂。我们创建了一个本地 NuGet 包,在这个项目中我们正在做一些 JSON 修改。然后当它完成时,它 returns a .NET class.
我 运行 遇到的问题,即使这应该是一个黑盒子,当我引用这个 NuGet 包时,它会抛出错误,因为我需要添加 Newtonsoft JSON 包。如果我在应用程序中根本不使用 JSON,为什么我需要它,NuGet 包似乎依赖于消费项目来拥有该包。
我做错了什么?我怎样才能将这个 NuGet 包保持为真正的“黑盒”而不要求消费应用程序引用 Newtonsoft 包?
您可以将依赖设置为PrivateAssets=all
以保持它作为开发依赖,并且它不会被消费项目传递依赖。
<ItemGroup>
<!-- ... -->
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" PrivateAssets="all"/>
</ItemGroup>
参考资料
我不确定为什么会这样,但这让我抓狂。我们创建了一个本地 NuGet 包,在这个项目中我们正在做一些 JSON 修改。然后当它完成时,它 returns a .NET class.
我 运行 遇到的问题,即使这应该是一个黑盒子,当我引用这个 NuGet 包时,它会抛出错误,因为我需要添加 Newtonsoft JSON 包。如果我在应用程序中根本不使用 JSON,为什么我需要它,NuGet 包似乎依赖于消费项目来拥有该包。
我做错了什么?我怎样才能将这个 NuGet 包保持为真正的“黑盒”而不要求消费应用程序引用 Newtonsoft 包?
您可以将依赖设置为PrivateAssets=all
以保持它作为开发依赖,并且它不会被消费项目传递依赖。
<ItemGroup>
<!-- ... -->
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" PrivateAssets="all"/>
</ItemGroup>