我已经从 Azure DevOps 克隆了此解决方案。据我的同事说,它在云中运行良好。当我使用Visual Studio 2019打开它时,它并没有还原所有的块包。该项目的目标是 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 框架之外,是否还有另一种在本地制作此项目的方法?
感谢您的帮助
答案 0 :(得分:1)
是的,您可以打开nuget Manager并更改软件包版本2.1或所需的方式。或者,您可以像
一样更改csproj
ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.0" />
</ItemGroup>
我认为这样做很冒险,因为某些方法的内容,名称,参数等可能已更改,或者2.2版的软件包中可能包含新功能,而它们不适用于2.1版。