You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET7升级.NET8后框架依赖应用启动失败求助

.NET7升级到.NET8框架依赖发布后运行时查找异常的问题解析

一、.NET7到.NET8的运行时探测逻辑变化

.NET8调整了框架依赖应用的运行时探测优先级:

  • .NET7时代,框架依赖应用会优先查找全局C:\Program Files\dotnet\路径下的运行时,仅当全局路径未找到时才会尝试应用本地路径
  • .NET8中,若应用目录下存在dotnet文件夹、dotnet.exe或其他与运行时相关的残留文件(比如之前自包含发布留下的文件),应用宿主会优先尝试从本地路径加载运行时,而非直接去全局路径查找

二、修复方案

针对该问题,按以下步骤排查修复:

  • 清理应用目录残留文件:检查F:\myapp\目录,删除所有残留的dotnet文件夹、dotnet.exe以及自包含发布生成的运行时文件(这些文件会误导.NET8宿主优先从本地查找)
  • 检查.runtimeconfig.json配置:打开应用目录下的MyApp.runtimeconfig.json,确认不存在additionalProbingPaths配置项指向本地路径,若有则删除该配置
  • 验证环境变量:检查系统环境变量DOTNET_ROOT,确保其值为C:\Program Files\dotnet\,若该变量指向错误路径则修正
  • 重新正确发布:使用明确的框架依赖发布命令重新发布应用,避免混淆为自包含发布:
    dotnet publish -c Release -f net8.0 -r win-x64 --no-self-contained
    
  • 确认全局运行时状态:打开命令行执行dotnet --list-runtimes,确认Microsoft.NETCore.App 8.0.0 (x64)的路径为C:\Program Files\dotnet\shared\Microsoft.NETCore.App

内容的提问来源于stack exchange,提问作者coalmee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 02:15:13