.net core 当nuget包的版本高于运行时的版本时,如何恢复这些包?

.net core 当nuget包的版本高于运行时的版本时,如何恢复这些包?,.net-core,nuget-package,.net Core,Nuget Package,我已从Azure DevOps克隆了此解决方案。据我的同事说,它在云端运行良好。当我使用VisualStudio2019打开它时,它并没有恢复所有的nugget包。该项目的目标是netcore 2.1,当我将目标更改为netcore 2.2时,它将恢复、构建和运行 以下是项目: <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> </PropertyGroup>

我已从Azure DevOps克隆了此解决方案。据我的同事说,它在云端运行良好。当我使用VisualStudio2019打开它时,它并没有恢复所有的nugget包。该项目的目标是netcore 2.1,当我将目标更改为netcore 2.2时,它将恢复、构建和运行

以下是项目:

<PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>

//...

<ItemGroup>
     <PackageReference Include="Microsoft.AspNetCore.App" />
     <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.1" />
     <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="2.2.1" />
     <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.2.1" />
     <PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.2.0" />
     <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.2.0" />
     <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.1" />
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.2.0-preview1-final" />
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.1.0-preview1-final" />
 </ItemGroup>
从这里可以看到,目标是2.1,而许多包是2.2.0或更高版本

我的问题是,除了瞄准2.2框架之外,是否还有其他方法使这个项目在本地进行


感谢您的帮助

是的,您可以打开nuget manager并更改软件包版本2.1或您想要的方式。或者你可以像这样改变csproj


我认为这很危险,因为有些方法内容、名称、参数等。。2.2版软件包中可能包含了更改或新功能,但它们不适用于2.1版。

Enes Bicer,我有点困惑。你的意思是当目标是2.1时,没有包应该>到2.1?到目前为止,当我将目标框架更改为2.2时,它是有效的,因为2.2大于或等于2.1。我的问题是,是否有办法将框架保持在2.1,但某些包是2.2。是的,如果目标是2.1,那么包必须=<2.1。没有办法将框架保持在2.1,但有些包是2.2。为什么需要将目标框架保持在2.1?你为什么不想使用.NETCore2.2版本?我只是好奇而已。谢谢
ItemGroup>
     <PackageReference Include="Microsoft.AspNetCore.App" />
     <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.0" />
 </ItemGroup>