当面向 x86 时,为什么我的项目无法重建,单元测试中的引用也无法更新?

Ada*_*dam 0 .net unit-testing visual-studio-2010

我在 VS 2010 中创建了一个针对 .NET 4.0 的控制台应用程序。根据Microsoft (Rick Byers) 的说法, AnyCPU 不再是控制台应用程序的默认设置,因为按照 Microsoft 的方式,他们觉得默认使用 x86 是一个更好的主意。此外,将平台更改为 AnyCPU 或 x64 的选项似乎不可用。

现在,我有一个正在构建的控制台应用程序,并且有一个类库项目,我正在 NUnit 中编写单元测试(我练习 TDD)。所以,问题是,当我去实现代码以使我的测试通过时,它们仍然失败。一段时间后,我发现这是因为(即使我从解决方案级别执行此操作)当项目重建时,它并没有重建控制台应用程序项目。这导致引用在我的单元测试中没有更新,这当然意味着我的测试是针对旧代码而不是新实现的代码执行的。大问题。

目前,我每次运行测试之前都必须右键单击控制台应用程序并选择重建,然后右键单击测试项目并选择重建。这非常烦人。

那么,回到问题,如何让 VS2010 重建我的控制台应用程序并自动更新我的类库中的引用,就像在旧版本的 Visual Studio 中那样?

请不要回答“添加构建事件来执行此操作”。我非常感谢 Visual Studio 能够正常工作,因为我不想每次创建新的控制台应用程序时都需要记住“添加构建事件来执行此操作”。

注意:到目前为止,我已尝试以下解决方法:

http://connect.microsoft.com/VisualStudio/feedback/details/455103/new-c-console-application-targets-x86-by-default

这不适用于我的单元测试项目。因此,我尝试删除引用并从 Visual Studio 重新添加它,然后出现一个对话框,显示“无法添加引用”。所以我将其恢复为 Visual Studio 默认模板。

更新:我在此处将此记录为 Microsoft Connect 的错误

Ada*_*dam 5

右键单击“解决方案”并选择“配置管理器”。在列表中找到控制台应用程序并选中“构建”复选框。(我难以理解为什么这不是默认检查的)。

解决了我的问题。现在一切都按照我想要的方式进行。

如果有更好的解决方案,或者如果有人知道一种方法可以默认为我检查此问题,我将不胜感激。