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


76

我在Visual Studio 2008中对此没有问题,但是VS 2010似乎有问题,我敢打赌这可能是我自己。

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

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

知道这可能是什么,或者我在构建测试项目时可能缺少任何选项来强制其他项目进行构建吗?

在此先感谢您的帮助!



1
如果要构建的解决方案配置,是否检查了BLL项目的构建?
尼克·克拉弗

Answers:


127

Nick Craver提到要检查Configuration Manager,以确保已选择要为给定配置构建的项目。

但是,要为解决方案中的多个项目设置构建顺序,请右键单击该解决方案,然后从上下文菜单中选择“ Project Build Order ...”。


4
我试过了,但是看不到如何影响订单。注释显示“使用Dependencies选项卡更改构建顺序”,但另一个选项卡仅具有复选框。
对齐

19
您使要首先构建的项目与最后要构建的项目具有依赖关系。
Bluebaron 2011年

然后检查其他选项卡,以确保为您全部解决。
Bluebaron

“构建”复选框对我来说是正确的。我已经回答并接受了答案,但是后来被删除了,我想由于我说了“谢谢”。因此,我将此答案标记为正确答案。
SeanKilleen

1
有关所有这些的屏幕截图,请参见此答案
Evgeni Sergeev

21

对于那些有类似问题的人,我将在这里略述一下我的评论。

通过右键单击解决方案并选择Configuration Manager来打开配置管理器,然后确保在此处的右侧栏中为相应的项目(针对您的当前配置)检查了构建:

配置管理器


17

也许不用手动设置顺序,而可以使用Project Dependencies,它可以间接指定构建顺序。

  1. 在解决方案资源管理器中,选择一个项目。
  2. 在项目菜单上,选择项目依赖项。将打开“项目依赖关系”对话框。 “项目依赖项”选项仅在具有多个项目的解决方案中可用。
  3. 在“依赖关系”选项卡上,从“项目”下拉菜单中选择一个项目。
  4. 在“依赖于”字段中,选中必须在此项目之前构建的任何其他项目的复选框。

0

为了更正我的VS2012中发生的问题,我做了以下工作:

右键单击项目属性->通用属性->框架和引用

现在,您会发现“参考”列表中缺少“依赖项”选项卡上显示的某些项目。

单击“添加新引用”以添加缺少的项目。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.