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

本文介绍将.NET 6.0/7.0项目迁移到.NET 8.0的关键步骤,包括更新SqlSugarCore和AutoMapper版本,调整JWT设置,更改目标框架,解决IIS部署问题等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 如果.netcore 8.0 引用冲突的话,把AutoMapper引用删掉,这是 Microsof 的依赖注入框架(‌DI)‌集成相关的。

 AutoMapper.Extensions.Microsoft.DependencyInjection 里也引用了AutoMapper,版本不对的话会冲突,所以,只要留一个即可

1、 AutoMapper.Extensions.Microsoft.DependencyInjection

2、 AutoMapper (可以移除)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Microi风闲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值