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

安装.NET Core 7 SDK后,.NET 6项目dotnet watch run失效

问题原因

dotnet watch 是绑定.NET SDK版本的开发工具——当你安装.NET 7 SDK后,系统默认会调用最新SDK里的dotnet watch。这个.NET 7版本的watch工具本身基于.NET 7 Runtime编译,运行时会依赖.NET 7的System.Runtime组件。但你的项目目标框架是.NET 6,运行环境是.NET 6 Runtime,两者版本不匹配,导致watch工具找不到它需要的.NET 7组件,从而抛出文件未找到异常。

而dotnet build、dotnet run、dotnet publish这类命令会直接读取项目的TargetFramework配置,自动适配对应版本的工具链,因此不会出现版本冲突。

解决方案

1. 用global.json锁定SDK版本(最稳定)

在项目根目录创建global.json文件,明确指定项目使用的.NET 6 SDK版本,强制系统调用对应版本的dotnet watch:

{
  "sdk": {
    "version": "6.0.417" // 替换成你本地已安装的.NET 6 SDK版本,可通过`dotnet --list-sdks`查看具体版本号
  }
}

2. 在项目文件中指定watch工具版本

直接在项目的.csproj文件中添加DotNetWatchToolVersion属性,绑定与.NET 6匹配的watch工具版本,这样即使全局用.NET 7 SDK,项目也会调用指定版本的watch:

<PropertyGroup>
  <TargetFramework>net6.0</TargetFramework>
  <DotNetWatchToolVersion>6.0.417</DotNetWatchToolVersion> <!-- 版本号与你的.NET 6 SDK对应 -->
</PropertyGroup>

3. 修复或重新安装.NET 6 SDK

如果本地.NET 6 SDK存在组件缺失或损坏,可下载对应版本的.NET 6 SDK,执行修复或重新安装操作,确保watch工具依赖的.NET 6组件完整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 02:05:58