千家信息网

ASP.NET Core 3.0迁移的示例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是有关ASP.NET Core 3.0迁移的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一.前言.NET Core 3.0将会在 .NET C
千家信息网最后更新 2026年11月01日ASP.NET Core 3.0迁移的示例分析

这篇文章给大家分享的是有关ASP.NET Core 3.0迁移的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一.前言

.NET Core 3.0将会在 .NET Conf 大会上正式发布,截止今日发布了9个预览版,改动也是不少,由于没有持续关注,今天将前面开源的动态WebApi项目迁移到.NET Core 3.0还花了不少时间踩坑,给大家分享一下我在迁移过程中遇到的坑。迁移的版本是当前Release最新版本 .NET Core 2.2 到 .NET Core 3.0 Preview 9。

二.ASP.NET Core 项目迁移

官方迁移文档:从 ASP.NET Core 2.2 迁移到3.0 ,这个官方文档比较详细,但是有一些东西里面并没有写。

1.更改框架版本

将 TargetFramework 版本改为 netcoreapp3.0

2.移除Nuget包

移除所有 Nuget包

将其余 Nuget 包更新到支持 .NET Core 3.0 版本

3.Program更改

 public class Program {  public static void Main(string[] args)  {   CreateHostBuilder(args).Build().Run();  }  public static IHostBuilder CreateHostBuilder(string[] args) =>   Host.CreateDefaultBuilder(args)    .ConfigureWebHostDefaults(webBuilder =>    {     webBuilder.UseStartup();    }); }

4.Startup更改

ConfigureServices 方法:

services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); 改为 services.AddControllers()(WebApi) / services.AddControllersWithViews();(MVC)

Configure 方法:

1、该方法里获取Host环境信息接口类型,IHostingEnvironment改为 IWebHostEnvironment

2、app.UseMVc 改为:

WebApi:

  app.UseRouting();      app.UseAuthorization();      app.UseEndpoints(endpoints =>      {        endpoints.MapControllers();      });

MVC:

  app.UseRouting();      app.UseAuthorization();      app.UseEndpoints(endpoints =>      {        endpoints.MapControllerRoute(          name: "default",          pattern: "{controller=Home}/{action=Index}/{id?}");      });

关于Json组件

ASP.NET Core 3.0 默认移除了 Newtonsoft.Json ,使用了微软自己实现的 System.Text.Json,如果要改为 Newtonsoft.Json ,那么有以下两步:

1.安装Nuget包:

Install-Package Microsoft.AspNetCore.Mvc.NewtonsoftJson

2.注册

services.AddControllers().AddNewtonsoftJson();

三.类库(Class Library Net Standard 2.0)项目迁移

因为 ASP.NET Core 3.0 对元包机制的改动,现在不能通过nuget安装 Microsoft.AspNetCore.All 或者 Microsoft.AspNetCore.App 3.0版本,以及他们包含的大多数Nuget包也不能通过nuget安装了(没有3.0对应的版本)。如果说还引用2.2版本的nuget包,那么运行起来可能会出错。元包被包含在了 .NET Core SDK中,这意味着如果我们的类库项目依赖了 AspNetCore 相关组件,那么将没法继续将项目目标框架设置为 .NET Standard 了,只能设置为.NET Core 3.0,因为 ASP.NET Core 3.0 only run on .NET Core 。

元包机制改动原因:https://github.com/aspnet/AspNetCore/issues/3608

1.更改框架版本

2.更新Nuget包

移除 Microsoft.AspNetCore.* 不具有 .NET Core 3.0 的版本,例如:

添加 FrameworkReference(不是 PackageReference) 引用:

感谢各位的阅读!关于"ASP.NET Core 3.0迁移的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

版本 项目 方法 框架 示例 分析 内容 官方 文档 更多 机制 篇文章 组件 更新 不错 实用 东西 信息 前言 动态 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技园 上海睿民互联网科技有限公司 为想互联网科技怎么样 互联网科技战争 互联网 科技创业 互联网科技公司电话 互联网科技公司官网 汉立互联网科技有限公司联系电话 中国的互联网科技企业的崛起 福州新华互联网科技学校 知乎 字节跳动和互联网科技 美国互联网科技实力 张召忠谈中国互联网科技 广州有谷有贝互联网科技有限公司 上海万顺科技互联网有限公司招聘 兰石爱特工业互联网科技分公司 互联网科技博主张洲 数字科技和互联网金融哪个好 科技互联网企业在行动 恒生科技互联网指数十大成分股 南京欣网互联网络科技有限公司 华宇互联网科技 互联网 的科技创新 艾特科技互联网 易通互联网络科技有限公司 阿里巴巴算科技企业还是互联网 贵州叶脉互联网科技有限公司所属行业 亳州好赞互联网科技有限公司 半导体是互联网高科技吗 数字互联网科技有限公司
0