Visual Studio单元测试32位和64位

11

我有一个解决方案,其中既包括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,但会出现错误提示:“尝试加载格式不正确的程序”

或许有更好的方法吗?

1个回答

3
如果你想在构建机器上自动化测试运行,你可以将项目设置为AnyCPU,并在运行单元测试之前运行corflags /32bit+(或/32bit-)来设置.NET程序集的正确平台。
我不知道除了拥有两个链接到相同文件的项目(一个x64和一个x86)之外,是否还有其他自动化解决方案可用于VS。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接