我有一个由asp.net core 2.1制作的项目,现在我想迁移到2.2版本。
我安装了2.2版的SDK,并在项目属性中将目标框架更改为2.2。
我找到了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项目,并将所有文件粘贴到其中,而不是解决麻烦的警告。
谢谢。
答案 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撰写)
我刚刚用他的文章升级了一个项目,然后就顺利进行了:)