如何轻松地从ASP.NET Core 2.1迁移到2.2?

时间:2018-12-06 22:16:54

标签: asp.net-core asp.net-core-mvc asp.net-core-2.1

我有一个由asp.net core 2.1制作的项目,现在我想迁移到2.2版本。

我安装了2.2版的SDK,并在项目属性中将目标框架更改为2.2。

清理并重建解决方案后,这里有些警告无法清理:
1。 enter image description here

2。 enter image description here

3。 enter image description here

我找到了Microsoft提供的与此有关的教程: https://docs.microsoft.com/en-us/aspnet/core/migration/21-to-22?view=aspnetcore-2.2&tabs=visual-studio

我尝试了,但还是没工作。

我认为通过更改项目属性中的目标框架,像.net框架一样更新新版本的SDK更加容易。但是,似乎不是。

我想知道是否有一个官方工具可以将.net core SDK从2.1更新到2.2。或者,我最好创建一个全新的2.2项目,并将所有文件粘贴到其中,而不是解决麻烦的警告。

谢谢。

4 个答案:

答案 0 :(得分:9)

好的,所以我找到了一个比更新整个项目更简单的解决方案。我所做的是

确保我的项目文件中存在这两行。

 <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <RuntimeFrameworkVersion>2.2.0</RuntimeFrameworkVersion>
  </PropertyGroup>

然后我有一个错误,说某些软件包不兼容,因此我也更改了它们的版本。正是这两个:

 <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
    <PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="2.2.0" />
  </ItemGroup>

此后,所有内容均成功编译而没有警告。

答案 1 :(得分:3)

架构错误可能表明您正在使用过时的Visual Studio 2017版本。

要使用.NET Core 2.2,您需要更新到最新的Visual Studio 2017.9(15.9)。

Prerequisites for .NET Core on Windows

  

要验证您的Visual Studio版本:

     
      
  • 在“帮助”菜单上,选择“关于Microsoft Visual Studio”。
  •   
  • 在“关于Microsoft Visual Studio”对话框中,验证版本号。      
        
    • 对于.NET Core 3.0 Preview 1应用程序,Visual Studio 2019 Preview 1或更高版本。
    •   
    • 对于.NET Core 2.2应用程序,Visual Studio 2017 15.9或更高版本。
    •   
    • 对于.NET Core 2.1应用程序,Visual Studio 2017版本15.7或更高版本。
    •   
    • 对于.NET Core 1.x应用程序,Visual Studio 2017 15.0或更高版本。
    •   
  •   

答案 2 :(得分:2)

最后,我使用了最愚蠢的方法来创建一个全新的空.net core 2.2项目,并将大多数旧项目文件(包括model / controllers / view / stylesheet / javascript,但csproj / Properties除外)粘贴到它。

然后清除解决方案并重建,清除所有警告。

这种方式很粗鲁和不专业,但这也许是最简单的方法。

答案 3 :(得分:0)

我只是想发表一篇文章,将上面的所有信息合并为一个简洁,全面的指南。它是由埃里克·安德森(Eric Anderson)制作的,不仅为我工作了完美,而且很容易满足OP的要求。

(当然,假设您没有任何遗漏,请阅读所有这些以前的评论也可以)。

Migration from ASP.NET Core 2.1 to 2.2 (由Eric Anderson撰写)

我刚刚用他的文章升级了一个项目,然后就顺利进行了:)