• ASP.NET Core3.1迁移到6.0的方法


    这篇文章主要介绍了从ASP.NET Core3.1迁移到6.0的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们来一起学习进步吧

    11月中旬,微软官方已经发布了dotnet 6的lts版

    dotnet core经过前几个版本的发展和沉淀,到3.1已经基本趋于稳定。

    所以从 .net core 3.1升级到.net 6将非常简单,确定你使用的vs是 Visual Studio 2022 或更高版本
    下面咱们就开始吧:

    在global.json中更新 .NET Core SDK 版本 (没有此文件可以忽略)

    {
    "sdk": {
    "version": "6.0"
    }
    }
    

    更新项目文件目标框架

    <PropertyGroup>
      <TargetFramework>net6.0</TargetFramework>
      <ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles>
    

    重新包引用

    在项目文件中,将每个 Microsoft.AspNetCore.* 和 Microsoft.Extensions.* 包引用的 Version 属性更新为6.0.0 或更高版本。

    更新 Docker 镜像

    对于使用 Docker 的应用,请使用包含 dotnet 6.0 的基本镜像。 例如:
    原来

    mcr.microsoft.com/dotnet/aspnet:3.1
    mcr.microsoft.com/dotnet/sdk:3.1
    

    现在

    mcr.microsoft.com/dotnet/aspnet:6.0
    mcr.microsoft.com/dotnet/sdk:6.0
    

    从3.1版迁移到6.0版的重大更改

    那从dotnet core 3.1 到 dotnet 6 的lts版 有哪些重大更改呢?

    其实也并不多,主要集中在以下几点:

    1. Azure:删除了Microsoft前缀的Azure集成程序包

    2. SignalR:MessagePack集线器协议已移至MessagePack 2.x程序包

    3. SignalR:UseSignalR和UseConnections方法已删除

    可以会有的坑

    1. Core WebApi框架模板项目中默认集成了swagger,这个是新增的,但之前项目有一些自定义配置和扩展,也导致了冲突。

    2. 想尝试C#10体验下新语法新特性需要花了一些时间。

    3. 【容器内运行需要注意】项目升级完发现的Bug,DateTime这个天天见的值出现了变化,在 ASP.NET Core 3.1 及更早版本中,DateTime绑定的是服务器本地时间,而5.0之后,DateTime绑定的是UTCTime。当前时间问题解决方式:https://github.com/dotnet/dotnet-docker/issues/3237

  • 相关阅读:
    Java I/O(二 使用)
    Java 基本I/O的学习总结(一 是什么)
    设计模式(一)
    浏览器输入一个网址(发生的过程)
    final关键字的4种用法
    JavaScript(4)——闭包与this对象以及window对象
    JavaScript(3)—— 正则表达式
    JavaScript(2)——对象属性、原型与原型链
    JavaScript(1)——变量、函数声明及作用域
    构建分布式配置中心阿波罗(Apollo)
  • 原文地址:https://www.cnblogs.com/YahuiWang/p/dotnet31_upgrade_dotnet6.html
Copyright © 2020-2023  润新知