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

已安装.NET SDK和Runtime,dotnet watch run仍提示找不到框架

问题分析与解决思路
  • 项目依赖与目标框架不匹配
    你安装了.NET 8.0 SDK和.NETCore.App运行时,但Microsoft.AspNetCore.App是ASP.NET Core专属的共享框架,部分Linux包管理工具会将其与基础.NET运行时分开发布。检查项目的.csproj文件:

    <TargetFramework>net8.0</TargetFramework>
    <!-- 确认是否包含ASP.NET Core引用 -->
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
    

    若项目依赖ASP.NET Core,但仅安装了基础.NET运行时,就会触发该错误。dotnet run和dotnet publish能正常执行,可能是因为SDK自带了ASP.NET Core的构建依赖,但watch模式需要独立的ASP.NET Core共享框架支持。

  • dotnet watch的版本上下文冲突
    检查项目根目录是否存在global.json文件,该文件可能锁定了特定SDK版本,导致dotnet watch使用了未安装ASP.NET Core运行时的版本。比如:

    {
      "sdk": {
        "version": "7.0.114"
      }
    }
    

    若项目实际针对.NET 8.0,但global.json锁定了7.0版本,且7.0环境未安装ASP.NET Core运行时,就会报错。可删除该文件或修改版本为8.0.100后重试。

  • Linux下运行时注册不完整
    执行以下命令检查ASP.NET Core运行时是否正确安装:

    dotnet --list-runtimes
    

    若输出中没有Microsoft.AspNetCore.App 8.0.0 [xxx]的条目,说明确实缺少该运行时。通过yay安装对应包即可,例如aspnetcore-runtime-8.0(具体包名可能随发行版略有不同)。

  • dotnet watch缓存异常
    watch模式可能残留旧缓存数据,导致运行时检测出错。尝试清理缓存后重试:

    dotnet clean
    rm -rf obj bin
    dotnet watch run
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 07:39:57