手机版

ASP.NET核心3.0迁移的完美避坑指南

时间:2021-08-20 来源:互联网 编辑:宝哥软件园 浏览:

一.导言

那个。NET Core 3.0将于。NET Conf会议。截止到今天,已经发布了9个预览版,并且做了很多改动。由于缺乏持续的关注,在将之前的开源动态WebApi项目迁移到时,需要花费大量时间踩坑。NET Core 3.0,和大家分享一下我在迁移过程中遇到的坑。迁移后的版本是最新版本。NET核心2.2到。NET Core 3.0预览版9。

二.ASP.NET核心项目迁移

官方迁移文档:从ASP.NET核心2.2迁移到3.0。这份公文比较详细,但是有些东西没有写进去。

1.更改框架版本

将TargetFramework版本更改为netcoreapp3.0

2.删除Nuget包

删除所有Nuget包

更新剩余的Nuget包以获得支持。net core版

3.程序变更

公共类程序{ public static void Main(string[]args){ CreateHostBuilder(args)。构建()。run();}公共静态IHostBuilder CreateHostBuilder(字符串[]参数)=Host。CreateDefaultBuilder(args)。ConfigureWebHostDefaults(WebBuilder={ WebBuilder。UseStartupStartup();});}

4.启动更改

配置服务方法:

服务。AddMvc()。SetCompatibilityVersion(兼容性版本。version _ 2 _ 2);改为服务。add controller()(web API)/services。add controller swith view();(MVC)

配置方法:

1.在该方法中,获取主机环境信息的接口类型,并将IHostingEnvironment更改为IWebHostEnvironment

2.更改应用程序。使用MVc来:

WebApi:

app。UseRouting();app。UseAuthorization();app。UseEndpoints(端点={ endpoints。MapControllers();});MVC:

app。UseRouting();app。UseAuthorization();app。UseEndpoints(端点={ endpoints。mapcontrolleroute(name : ' default ',pattern : ' { controller=Home }/{ action=Index }/{ id?}');});关于Json组件

ASP。NET core 3.0默认移除newsoft.json,使用微软自己的System。Text.Json如果要将其更改为newsoft.json,有以下两个步骤:

1.安装Nuget包:

安装包微软。aspnetcore.mvc.newsoft JSON 2。登记

服务。AddControllers()。AddNewtonsoftJson();Iii .类库网络标准2.0项目迁移

因为ASP.NET核心3.0改变了元包机制,微软。全部或微软。AspNetCore . App 3.0版本现在不能通过nuget安装,它们包含的大部分nuget包都不能通过Nuget安装(3.0没有对应的版本)。如果您仍然参考2.2版的nuget包,它可能会运行不正确。元包包含在。NET Core SDK,这意味着如果我们的类库项目依赖于AspNetCore相关组件,项目目标框架就不能再设置为。NET标准,但只能设置为。NET Core 3.0,因为ASP.NET Core 3.0只运行在。网络核心。

元包机制变化的原因:https://github.com/aspnet/AspNetCore/issues/3608

1.更改框架版本

2.更新Nuget包

删除Microsoft.AspNetCore.*没有的版本。NET Core 3.0,例如:

添加FrameworkReference(不是PackageReference)引用:

三.正在关闭

题外话:ASP.NET核心可以两者兼得。NET框架和。NET Core直到2.2,但是从ASP.NET Core 3.0开始,它将只支持。NET核心。

相关信息:ASP.NET核心3.0变化初探

微软官方已经解释了上述变化。其实改变是为了变得更好,弥补以前的不足。对于已经使用了这么久的Core来说,这只是有点令人沮丧,但为了更好,它仍然是可以接受的。NET核心。

摘要

以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。谢谢你的支持。

版权声明:ASP.NET核心3.0迁移的完美避坑指南是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。