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

如何强制VS 2019的xUnit测试使用指定的testhost.exe?

解决testhost.exe版本切换及长路径支持问题

一、切换至对应.NET Framework版本的新版testhost.exe

如果你遇到VS默认调用.NET 4.0版本testhost.exe的情况,可以通过以下方法切换到匹配目标框架(如.NET 4.6.2+)的新版:

  • 更新测试平台组件:打开Visual Studio,依次点击「工具」→「获取工具和功能」,确保安装了最新的「测试工具」组件;也可以在测试项目中更新Microsoft.TestPlatform NuGet包到最新稳定版,这会同步更新本地的testhost.exe版本。
  • 调整项目测试架构设置:右键测试项目→「属性」,在「生成」选项卡中设置「目标平台」为x64;接着进入「测试」菜单→「测试设置」→「默认处理器架构」,选择x64。这样VS会自动匹配对应框架版本的x64 testhost.exe,而非默认的.NET 4.0版本。
  • 手动指定testhost路径(兜底方案):如果自动匹配失效,你可以手动指定路径:右键测试项目→「属性」→「调试」,在「启动外部程序」中选择对应版本的testhost.exe。路径通常位于C:\Program Files\Microsoft Visual Studio\<你的VS版本>\Enterprise\Common7\IDE\Extensions\TestPlatform\x64下,选择与目标框架匹配的最新版本。

二、关于testhost.exe缺少longPathAware标记的问题

即使成功切换到.NET 4.6.2+对应的testhost.exe,其清单文件中仍未添加<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>标记,这会导致长路径支持等.NET Framework新特性无法正常工作。

这属于微软测试平台的未修复问题,你可以通过以下方式提交反馈推动修复:

  • 通过VS内置反馈渠道:点击VS右上角的「发送反馈」→「报告问题」,详细描述你的场景:使用.NET 4.6.2+测试项目,testhost.exe缺失longPathAware标记导致长路径测试用例失败,并说明perfview项目曾通过添加该标记解决同类长路径问题。
  • 在官方仓库提交Issue:前往微软测试平台的官方代码仓库,提交Issue说明问题细节、测试环境和实际影响,帮助官方定位并修复该问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 21:32:34