当开始一个调试项目时,为什么Visual Studio会构建整个解决方案而不是只构建该项目?

5
在Visual Studio中,如果您选择“开始调试”或“开始不带调试”来运行当前选定的启动项目,则Visual Studio总是构建整个解决方案。这似乎是不必要的,因为它真正需要做的只是构建您希望启动的项目及其依赖项。
例如,如果您有一些单元测试项目,您不能运行启动项目,直到所有单元测试项目也编译完成。至少,构建所有这些单元测试项目是浪费时间的,因为希望运行的项目不会依赖于它们。
是否可以更改此行为?
2个回答

12

是的,你可以更改这个行为(我总是这样做,因为你描述的原因)。

进入工具 > 选项 > 项目和解决方案 > 构建和运行。然后勾选“只在运行时构建启动项目和依赖项”。


FYI,在Visual Studio 2012 RTM中,这现在默认已经被选中。 - Dan Nolan
实际上,我刚刚发现我和一些同事在VS 2012上没有勾选这个选项。可能是自从安装VS以来,因为我们中没有人记得对此设置进行任何更改。 - famousgarkin

1
在我的情况下,这个选项已经被勾选了,但是仍然无法构建。VS 2012只构建了主(启动)项目,而没有构建其依赖项。发现这是因为在ConfigurationManager中的Active configuration设置为仅构建主(启动)项目。
请转到Build > ConfigurationManager 确保您想要构建的所有项目都像下面的截图一样被勾选。

enter image description here


我认为这与所问的问题无关。 - whihathac

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