.NET Core 2.X 升级 3.1

简单记录下个人升级3.1过程。

1.修改目标框架

 搜索解决方案--netcoreapp-后面几点几全部改为3.1

在搜索到的文件中,看是否存在这两个-----移除 Microsoft.AspNetCore... 的 PackageReference,因为已经包含在3.1的目标框架内了。

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

  

2.升级所依赖的NuGet包

将项目依赖的所有NuGet包更新至最新版本

3.启动更改

Program.cs

未来版本中将弃用 WebHostBuilder,并将其替换为 HostBuilder

原来未修改前代码

HostBuilder 替换 WebHostBuilder

修改后

 

 Startup.cs

下图显示了应用中已删除和已更改的行:

 

 在上图,标红的是要删除的代码。

 在上图中,添加的代码显示为绿色。

 public void ConfigureServices(IServiceCollection services)
{
        services.AddControllersWithViews();   //控制器+视图=mvc模式
        services.AddControllers();   //单控制器=WebApi
        services.AddRazorPages();   //Razor Pages
}

路由启动方式

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

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

改到这差不多就改完了。然后删除掉项目中的隐藏文件   .vs     .vscore       .idea     然后重启项目,重新生成下解决方案即可。

----------------------------------------------------------------------------------------------------------------------------------------------------------

如果刚好你也用  Nlog 日志 

原写法

loggerFactory.AddNLog();//添加NLog
env.ConfigureNLog("LogConfig/nlog.config");//读取Nlog配置文件 

修改为

loggerFactory.AddNLog();//添加NLog
NLog.Web.NLogBuilder.ConfigureNLog("LogConfig/nlog.config");//读取Nlog配置文件

 

又刚好你们返回json是差不多和我一样返回的

 需要在 Startup.cs 添加 Newtonsoft.json

 public void ConfigureServices(IServiceCollection services)
{           
     services.AddMvc().AddNewtonsoftJson(options =>
     {
                //忽略循环引用
                options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
                //不使用驼峰样式的key
                options.SerializerSettings.ContractResolver = new DefaultContractResolver();
      });
 }

ASP.NET Core 的默认 JSON 序列化程序现已 System.Text.Json,这是 .NET Core 3.0 中的新增项。

所以可能会有问题,如没问题请忽略。

从 ASP.NET Core 2.2 迁移到3.0

猜你喜欢

转载自www.cnblogs.com/ya-jun/p/12340488.html