2013-11-05 65 views
9

我有一个使用C++和C++/CLI代码的项目和一组使用Microsoft单元测试框架对所有这些项目进行单元测试的项目。对于C++/CLI项目,单元测试项目是C#单元测试。我目前拥有的是32位和64位的平台。另外,对于每个平台,我都将单元测试项目设置为32位和64位平台进行匹配。Visual Studio单元测试32位和64位

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

而且我已经尝试设置单元测试项目是AnyCPU但这种失败,出现错误说“试图加载程序格式不正确”

是否有可能是一个更好的办法?

回答

3

如果您希望自动运行测试,我可以将项目设置为AnyCPU并运行corflags/32bit +(或/ 32bit-)将.NET程序集设置为正确的平台,然后再运行单元测试。

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