.net core i';我使用.NETCore3.x(LTS)nuget要安装5.0,如何确保它不会安装非LTS版本?

.net core i';我使用.NETCore3.x(LTS)nuget要安装5.0,如何确保它不会安装非LTS版本?,.net-core,nuget,.net Core,Nuget,我正在处理的项目必须只使用.NETCore的LTS版本,即3.x版 有没有办法让nuget忽略3.x以上的任何内容,现在如果我想更新任何包,nuget默认设置为5.0.0版,这不是我想要的是的,这是nuget非常恼人的行为-从逻辑上讲,它应该只显示与项目的.NET Core/Standard/Framework/任何版本兼容的包更新。不幸的是,NuGetUI的许多功能中似乎没有逻辑 谢天谢地,有明确的支持。假设您的.csproj包含以下包引用: 通过将该引用更改为以下内容,可以强制该引用永远

我正在处理的项目必须只使用.NETCore的LTS版本,即3.x版


有没有办法让nuget忽略3.x以上的任何内容,现在如果我想更新任何包,nuget默认设置为5.0.0版,这不是我想要的

是的,这是nuget非常恼人的行为-从逻辑上讲,它应该只显示与项目的.NET Core/Standard/Framework/任何版本兼容的包更新。不幸的是,NuGetUI的许多功能中似乎没有逻辑

谢天谢地,有明确的支持。假设您的.csproj包含以下包引用:


通过将该引用更改为以下内容,可以强制该引用永远不允许更新到版本5.0.0:


不幸的是(参见前面提到的NuGet中缺少逻辑),如果有此软件包的新版本(如3.1.10-当前版本),并且您选择更新它,NuGet将放弃范围表达式并将其更改回特定版本:


是的,这是NuGet非常恼人的行为-从逻辑上讲,它应该只向您显示与项目的.NET Core/Standard/Framework/版本兼容的包更新。不幸的是,NuGetUI的许多功能中似乎没有逻辑

谢天谢地,有明确的支持。假设您的.csproj包含以下包引用:


通过将该引用更改为以下内容,可以强制该引用永远不允许更新到版本5.0.0:


不幸的是(参见前面提到的NuGet中缺少逻辑),如果有此软件包的新版本(如3.1.10-当前版本),并且您选择更新它,NuGet将放弃范围表达式并将其更改回特定版本:


我的答案我的答案看起来像是被接受的答案,但是,我更喜欢以受限的方式手动更新包,以避免使用非LTS版本:

<PackageReference
    Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="[3.1.10,3.1.10]" />


这种版本范围的方式将迫使NuGet永远不会更新包,除非我手动更改上限。但是,我应该在更新后重写范围。

我的答案我的答案看起来像是接受的答案,但是,我更喜欢以受限的方式手动更新包,以避免使用非LTS版本:

<PackageReference
    Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="[3.1.10,3.1.10]" />

这种版本范围的方式将迫使NuGet永远不会更新包,除非我手动更改上限。但是,我应该在更新后重写范围