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

升级Visual Studio 2019到16.4.0后无法运行.NET Core 2.2单元测试

解决方案:VS2019 16.4运行.NET Core 2.2单元测试找不到运行时的问题

我之前处理过好几起类似的案例,你的问题核心其实是Visual Studio 2019 16.4版本的测试运行器默认采用32位架构,导致它去C:\Program Files (x86)\dotnet\路径找运行时,但你安装的.NET Core 2.2运行实际在64位的C:\Program Files\dotnet\目录下——这就解释了为什么dotnet test和VS Code能正常工作,它们默认调用的是64位的.NET Core环境。

下面是几个靠谱的解决方向,按优先级尝试:

1. 切换测试运行器的架构为x64

这是最直接的修复方法:

  • 打开Visual Studio的测试资源管理器,点击顶部的齿轮图标(测试设置)
  • 在弹出的对话框中,将「默认处理器架构」修改为x64
  • 保存设置后,重新运行单元测试,此时测试运行器会从64位的C:\Program Files\dotnet\路径加载正确的2.2.0运行时

2. 确保测试项目的运行时配置正确

有时候测试项目的运行时配置会缺失或错误:

  • 右键你的单元测试项目 → 「属性」→ 「生成」选项卡
  • 勾选「生成运行时配置文件」,点击确定后重新生成项目
  • 找到项目输出目录下的[项目名称].runtimeconfig.json文件,检查内容是否正确指定了2.2.0版本:
    {
      "runtimeOptions": {
        "framework": {
          "name": "Microsoft.AspNetCore.App",
          "version": "2.2.0"
        }
      }
    }
    

3. 修复Visual Studio的.NET Core 2.2组件

可能VS安装时的.NET Core 2.2测试组件有损坏:

  • 打开Visual Studio安装器,选择你的VS2019实例点击「修改」
  • 切换到「单个组件」标签,搜索并勾选「.NET Core 2.2开发工具」
  • 点击「修改」完成安装,重启Visual Studio后再尝试运行测试

4. 清理Visual Studio的缓存文件

VS的缓存可能导致运行时识别异常:

  • 关闭所有Visual Studio实例
  • 删除以下两个目录的全部内容:
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\16.0_*\ComponentModelCache(*是你的VS实例ID)
    • %USERPROFILE%\AppData\Local\Temp\VisualStudioTestExplorerExtensions
  • 重启Visual Studio,重新运行测试

⚠️ 注意:你之前手动把2.2.0文件夹复制到C:\Program Files (x86)\dotnet\的操作会导致32位和64位运行时冲突,建议尽快删除这个复制的文件夹,避免引发更多错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:04:26