Visual Studio 2010:如何强制执行解决方案中项目的构建顺序?

81

在Visual Studio 2008中,我没有遇到这个问题,但似乎VS 2010有些问题,我猜问题可能出在我身上。

我有一个包含ASP.NET网站项目和几个C#项目(BLL、DAL、NUnit测试)的解决方案。我已经配置了测试项目的构建过程,以自动运行NUnit来运行测试。我希望确保BLL和DAL项目在测试项目之前构建,这样测试将针对最新编译的版本运行(是的,我知道我可以在一个项目中完成所有操作,但我选择不这样做,请谅解 :) )

因此,我将测试项目的依赖项设置为包括BLL、DAL和Web应用程序项目,并且构建顺序显示BLL、DAL、Web应用程序,然后是Tests。但是,我注意到在构建测试项目时,BLL实际上并没有构建。

你有什么想法,这可能是什么问题或者我可能错过了哪个选项,以强制在构建测试项目时构建其他项目?


请查看此链接:http://msdn.microsoft.com/zh-cn/library/5tdasz7h.aspx - Oskar Kjellin
1
你正在构建的解决方案配置中,是否已经勾选了 BLL 项目的构建? - Nick Craver
4个回答

132

Nick Craver提到检查配置管理器,以确保您选择了要为给定配置构建的项目。

然而,要为解决方案中的多个项目设置构建顺序,请右键单击解决方案并从上下文菜单中选择“项目构建顺序…”。


5
我已经尝试过了,但不知道如何影响顺序。注释中说“使用依赖项选项卡来更改构建顺序”,但是另一个选项卡只有复选框。 - AlignedDev
19
将你想要首先构建的项目作为最后想要构建的项目的依赖项。 - Bluebaron
然后检查另一个选项卡,确保一切都为您所预期的工作。 - Bluebaron
“构建”复选框对我来说是正确的。我已经回答并接受了答案,但后来它被删除了,我认为是因为我说了“谢谢”。因此,我将把这个答案标记为正确答案。 - SeanKilleen
1
请参考此答案以查看所有这些的截图。 - Evgeni Sergeev

21

针对有类似问题的人,我会在这里详细阐述我的评论。

通过右键单击解决方案并选择配置管理器来打开配置管理器,然后确保适当项目(当前配置)在右侧列中勾选了“生成”:

配置管理器


17
也许你可以使用项目依赖项来间接指定构建顺序,而不是手动设置顺序。
  1. 在“解决方案资源管理器”中选择一个项目。
  2. 在“项目”菜单上,选择“项目依赖项”。将打开“项目依赖项”对话框。 只有在具有多个项目的解决方案中才会出现“项目依赖项”选项。
  3. 在“依赖项”选项卡上,从“项目”下拉菜单中选择一个项目。
  4. 在“依赖于”字段中,选择必须在该项目之前构建的任何其他项目的复选框。

0
为了解决我在VS2012中遇到的问题,我采取了以下措施:
右键单击项目属性-->常规属性-->框架和引用
现在你会发现在依赖选项卡上显示的一些项目在“引用”列表中缺失。
点击“添加新引用”来添加缺失的项目。

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