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

求助:Visual Studio 2026无法构建.NET 10项目但可正常构建.NET 9

.NET 10项目在VS2026中编译失败的排查与解决

核心问题

VS2026构建.NET10项目时,C#编译器(csc.exe)启动时读取到的DOTNET_ROOT被错误设置为C:\Program Files,而非正确的C:\Program Files\dotnet。但系统全局环境变量、构建初始日志均显示该变量配置正确,且命令行/VS Code可正常构建,说明是VS构建流程中某个环节临时覆盖了变量。

排查解决步骤

  • 检查VS局部环境变量配置
    打开VS2026,进入「工具→选项→项目和解决方案→环境变量」,查看是否存在自定义的DOTNET_ROOT变量被错误设置;同时检查项目根目录下的Directory.Build.props/Directory.Build.targets文件,确认无硬编码修改DOTNET_ROOT的配置。

  • 重置VS MSBuild缓存与配置
    关闭所有VS实例,删除%APPDATA%\Microsoft\VisualStudio\18.0_xxxx(对应VS2026版本的文件夹)下的MSBuild缓存目录;或执行命令 devenv /ResetSettings 重置VS默认设置(建议先备份自定义配置),重启后重新构建。

  • 验证权限与路径有效性
    右键VS2026快捷方式选择「以管理员身份运行」,排除权限限制导致的路径读取异常;同时确认C:\Program Files\dotnet\sdk\10.0.100\Roslyn\bincore\目录的读取/执行权限对VS运行账户开放。

  • 修复VS2026的.NET10集成组件
    打开Visual Studio Installer,选择VS2026的「修改」选项,确认“.NET 10 SDK”和“C#和Visual Basic开发工具”组件已安装,点击「修改」完成组件修复;修复后清理项目的bin/obj目录再重新构建。

  • 临时强制指定DOTNET_ROOT(应急方案)
    若以上方法无效,可在项目的.csproj文件中添加以下配置,强制编译器使用正确的.NET路径:

    <PropertyGroup>
      <DotNetRoot>C:\Program Files\dotnet</DotNetRoot>
    </PropertyGroup>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 22:14:51