.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 版本 设为 无托管代码,模式为集成

相关推荐
建投数据30 分钟前
建投数据与腾讯云数据库TDSQL完成产品兼容性互认证
数据库·腾讯云
Hacker_LaoYi1 小时前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀2 小时前
Redis梳理
数据库·redis·缓存
独行soc2 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
你的微笑,乱了夏天2 小时前
linux centos 7 安装 mongodb7
数据库·mongodb
工业甲酰苯胺2 小时前
分布式系统架构:服务容错
数据库·架构
独行soc3 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
White_Mountain4 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu
Code apprenticeship4 小时前
怎么利用Redis实现延时队列?
数据库·redis·缓存
百度智能云技术站4 小时前
广告投放系统成本降低 70%+,基于 Redis 容量型数据库 PegaDB 的方案设计和业务实践
数据库·redis·oracle