关于visual studio:如何为单元测试64位平台运行vstest.console.exe

How to run vstest.console.exe for Unit Test 64-bit platform

如何针对 64 位平台运行 vstest.console.exe?

设置为目标平台 x64 的单元测试无法在 DevOps 工具 (VSTS/TeamCity/Octopus) 上运行。

[error]Error: None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run.

Platform: X86 .Net Framework: Framework45. Go to
http://go.microsoft.com/fwlink/?LinkID=330428 for more details on
managing these settings.


在本地,它是通过将 Visual Studio 上的测试设置为在 x64 上作为默认进程运行来实现的。

Test tab on VS > Test Settings > Default Process Architecture > x64

使用某些 DevOps 工具时,可以在运行 vstest.console.exe 的脚本中指定平台

In my case, I'm using Azure DevOps Build Definitions, so I set my VS Test task to /platform:x64 through a parameter when running vstest.console.exe.

1
2
3
vstest.console.exe"C:\\Project\\bin\\x64\
elease\\Project.UnitTests.dll""C:\\Project\\bin\\x64\
elease\\Project.UnitTests.dll" /platform:x64 /logger:trx

一旦设置,所有 x64 目标单元测试 dll 都会成功执行。


检查 C:\\\\\\\\ 下是否有 vstest.console.exe
程序文件 (x86)\\\\\\\\Microsoft Visual Studio 12.0\\\\\\\\Common7\\\\\\\\IDE\\\\\\\\CommonExtensions\\\\\\\\Mi
crosoft\\\\\\\\TestWindow\\\\\\\\

  • 从 cmd 转到保存项目 dll 的路径。
    即 cd C:\\\\\\\\Users\\\\\\\\krakhil\\\\\\\\Desktop\\\\
    otes\\\\\\\\实践代码\\\\\\\\VerifyExe\\\\\\\\VerifyExe\\\\\\\\bin\\\\\\\\Debug

按回车

然后写 -> "C:\\\\\\\\
程序文件 (x86)\\\\\\\\Microsoft Visual Studio 12.0\\\\\\\\Common7\\\\\\\\IDE\\\\\\\\CommonExtensions\\\\\\\\Mi
crosoft\\\\\\\\TestWindow\\\\\\\\vstest.console.exe" VerifyExe.dll

VerifyExe.dll 是我要执行的项目 dll。