gpt4 book ai didi

c# - 发布 Nuget 包时有关 PackageReference 版本的最佳实践?

转载 作者:行者123 更新时间:2023-12-05 01:30:54 24 4
gpt4 key购买 nike

发布 Nuget 包时指定 PackageReference 的最佳做法是什么?

根据 https://learn.microsoft.com/en-us/nuget/consume-packages/package-references-in-project-files , 指定版本号等同于 >= 该版本。

例如,以下内容将引用 11.0.1 或更高版本的 Newtonsoft.Json 和 106.9.0 或更高版本的 RestSharp。

  <ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="11.0.1" />
<PackageReference Include="RestSharp" Version="106.9.0" />
</ItemGroup>

如果另一个开发人员想在他的项目中使用我的 Nuget 包,则该开发人员可能在他的项目中也需要这些相同的包,并且他可能无法也不想使用我一直在使用的相同版本。因此,最佳做法是什么?我应该在发布时始终指定最低兼容版本,还是只更新我认为适合我的项目的包而不用担心发布的版本号?

最佳答案

总是有取舍的。对于您无法控制的事情,您的库包引用版本可能会变得过时。例如,如果您没有要为您的库发布的新功能,但其中一个依赖库已更新,您可能不想更新您的 Nuget。也就是说,如果有一些重要的安全更新,您需要更新您的库。

略微无关,但来自 .NET Standard 的旧建议之一可能会对您的决定派上用场。

When choosing a .NET Standard version to target, consider this trade-off:

  • The higher the version, the more APIs are available to your library's code.
  • The lower the version, the more apps and libraries can use your library.

个人,在使用 Nuget 包时,我尝试使用最新的依赖包以确保我可以获得最新的功能,而不必担心安全漏洞。

关于c# - 发布 Nuget 包时有关 PackageReference 版本的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66644478/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com