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

问题描述 投票:10回答:4

我有一个由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项目,并将所有文件粘贴到其中,而不是解决麻烦的警告。谢谢。

asp.net-core asp.net-core-mvc asp.net-core-2.1
4个回答
13
投票

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

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

 <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>

之后,所有内容都会成功编译而不会发出警告。


4
投票

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

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

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


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或更高版本。

0
投票

我只是想在那里发表一篇文章,将上面的所有信息整合为一个简洁,全面的指南。它是由埃里克·安德森(Eric Anderson)制作的,不仅为我提供了完美的解决方案,而且按照OP的要求也很容易。

((当然,阅读所有这些先前的评论,前提是您不会错过任何评论,也可以使用)。

© www.soinside.com 2019 - 2024. All rights reserved.