Visual Studio单元测试32位和64位

Jar*_*tek 11 c++ unit-testing c++-cli visual-studio-2012

我有一个包含C++和C++/CLI代码的项目的解决方案,以及一组使用Microsoft Unit Test Framework对所有这些进行单元测试的项目.对于C++/CLI项目,单元测试项目是C#单元测试.我目前拥有的是32位和64位平台.此外,对于每个平台,我将单元测试项目设置为32位和64位平台以匹配.

我遇到的问题是,当我切换到32位与64位时,我需要 TEST > TEST SETTINGS > DEFAULT PROCESSOR ARCHITECTURE根据需要从32位和64位转换.如果不这样做,我会收到Visual Studio的警告,即64位映像无法在32位进程中运行.这是有道理的,但肯定有一些方法可以实现自动化吗?否则,如果我在构建机器上进行批量构建,我将无法控制它,单元测试将失败.

此外,我已尝试将单元测试项目设置为AnyCPU,但此操作失败并显示"尝试加载程序格式不正确"的错误

还有更好的方法吗?

Dro*_*per 3

如果您希望在构建机器上自动测试运行,您可以将项目设置为 AnyCPU 并运行corflags /32bit+(或 /32bit-),以在运行单元测试之前将 .NET 程序集设置为正确的平台。

我不知道 VS 的自动解决方案,然后有两个链接到相同文件的项目(一个 x64 和一个 x86)。