Mozilla VPN激活时VS2022测试资源管理器运行MS Test失败,求非关闭VPN的解决办法
以下是几个无需关闭VPN的可行解决方案:
添加测试主机进程到VPN排除列表
直接添加vstest.console.exe失败的话,试试定位实际运行的测试主机进程:启动测试后打开任务管理器,找到testhost.exe(x86架构项目会是testhost.x86.exe),右键查看文件位置,一般在C:\Program Files\dotnet\shared\Microsoft.NETCore.App\[对应.NET版本号]或VS的TestWindow目录下。把这个testhost.exe的完整路径手动添加到Mozilla VPN的应用排除列表。调整VS测试资源管理器的网络通信设置
打开VS的工具 > 选项 > 测试 > 通用面板,找到「测试主机连接」相关选项,尝试切换为优先使用本地回路模式。VPN可能会拦截跨进程的本地网络请求,强制使用127.0.0.1通信可以绕过这个限制。配置Mozilla VPN允许本地网络通信
进入Mozilla VPN的设置界面,找到防火墙或网络规则板块,添加规则允许127.0.0.1/localhost的全端口通信,或者直接放行Visual Studio主程序、vstest.console.exe、testhost.exe这几个进程的本地网络访问权限。重置VS测试组件
以管理员身份打开命令提示符,依次运行以下命令重置VS的测试相关组件:devenv /resetuserdata devenv /setup重启VS后再测试,注意此操作会重置VS的用户自定义设置,建议提前备份配置。
临时替代方案:用dotnet test配合VS终端
如果以上方法都不生效,可以在VS内置终端中直接执行dotnet test命令,测试结果会同步显示在终端和测试资源管理器中,虽然操作不如直接点击运行便捷,但能在VPN激活状态下完成测试。
内容的提问来源于stack exchange,提问作者jwdonahue

