11

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

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

此外,我尝试将单元测试项目设置为 AnyCPU,但这失败并显示错误消息“尝试加载格式不正确的程序”

也许有更好的方法吗?

4

1 回答 1

3

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

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

于 2014-07-02T06:39:04.833 回答