.netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项

1、SqlSugarCore 相关

1.1 主项目添加数据,否则会报数据库连接错误:

<InvariantGlobalization>false</InvariantGlobalization>

复制代码
<PropertyGroup>
  <TargetFramework>net8.0</TargetFramework>
  <Nullable>enable</Nullable>
  <ImplicitUsings>enable</ImplicitUsings>
  <GenerateDocumentationFile>True</GenerateDocumentationFile>
  <InvariantGlobalization>false</InvariantGlobalization>
</PropertyGroup>

1.2 数据库连接字符串添加 Encrypt=True;TrustServerCertificate=True; 否则会报数据库连接中文错误:

复制代码
 "ConnectionString": "Server=.;User Id=sa;Password=XXX;Database=XXX;Encrypt=True;TrustServerCertificate=True;",

1.3 SqlSugarCore NuGet包升级到 5.1.4.142 + 版本

2、AutoMapper 相关

2.1 删除一个NuGet包,这个在.netcore 8.0 会自带,引用则会冲突。

AutoMapper.Extensions.Microsoft.DependencyInjection

2.2 AutoMapper NuGet包升级到 13.0.1+ 版本

3、Jwt 相关

3.1 加密的key字符串长度有最低要求,短了会报错,以前不会

复制代码
 "JwtSetting": {
   "Issuer": "jwtIssuer", //颁发者
   "Audience": "jwtAudience", //可以给哪些客户端使用
   "SecretKey": "xhuangqianmingyueguangxhuangqianmingyueguang", //加密的Key
   "Expires": 60 //默认过期分钟
 },

4、目标框架

4.1 把所有项目的目标框架改成.NET 8.0

4.2 重新生成项目,可能会报很多引用相关的错误,删除无关using 引用

5、IIS部署问题

5.1 官网下载:dotnet-hosting-8.0.2-win.exe 和 dotnet-sdk-8.0.201-win-x64.exe,在服务器上安装。

5.2 项目 web.config 配置文件 hostingModel 修改为 "OutOfProcess"

复制代码
<system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\XXXX.Core.App.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="OutOfProcess" />
    </system.webServer>

5.3 应用程序池 .NET CLR 版本 设为 无托管代码,模式为集成

相关推荐
sq80027 分钟前
EFCore ORM 数据库数据表迁移
数据库·后端·orm
小徐不徐说1 小时前
深入理解 Qt 信号与槽机制的底层逻辑
数据库·c++·qt·面试
一只小小汤圆1 小时前
qt 心跳包
服务器·数据库·qt
巴里巴气1 小时前
MongoDB事务和隔离级别的原理
数据库·mongodb
什么半岛铁盒2 小时前
MySQL的常用数据类型详解
linux·数据库·mysql·adb
rannn_1112 小时前
【MySQL学习|黑马笔记|Day1】数据库概述,SQL|通用语法、SQL分类、DDL
数据库·后端·学习·mysql
mrbone112 小时前
C++-关于协程的一些思考
开发语言·数据库·c++·c++20·协程·异步·coroutines
Antonio9152 小时前
【MySQL】MySQL 缓存方案
数据库·mysql·缓存
越来越无动于衷4 小时前
基于 JWT 的登录验证功能实现详解
java·数据库·spring boot·mysql·mybatis
看天走路吃雪糕4 小时前
墨者:SQL手工注入漏洞测试(MySQL数据库-字符型)
数据库·mysql·sql注入·sqlmap·墨者学院·字符型注入