使用MSBuild构建解决方案文件夹

时间:2011-06-06 11:06:28

标签: visual-studio visual-studio-2010 msbuild continuous-integration solution

我们有一个解决方案文件,其中包含一些解决方案文件夹:库,单元测试,应用程序......

使用 VS2010 ,我们可以通过右键单击并使用“build”或“rebuild”来构建给定文件夹的项目。

这对开发人员的工作站来说是完美的,我们也想在使用 MSBuild 的持续集成服务器上做同样的事情。

那么,我们可以使用MSBuild构建解决方案文件夹吗?

或者我们是否必须为每个文件夹创建专用解决方案?

提前感谢您的帮助。

最终编辑:以下回复的结论是,他们没有内置的方法来做到这一点,但有些解决方法:

  • 仅使用所选项目创建专用解决方案
  • 使用将构建所选项目的专用csproj
  • 在现有解决方案文件中添加一个将引用所选项目的新项目

我选择使用专用的解决方案文件,因为它不那么具有侵入性和棘手的方式,但不是更灵活(专用的csproj解决方案应该提供完全控制)。

2 个答案:

答案 0 :(得分:5)

是的,您可以使用MSBUILD

构建解决方案文件夹
msbuild "framework.sln" /t:First\Project:Build

将在名为First的文件夹中构建项目,HOWEVER磁盘文件夹和soltions文件夹必须匹配(我尝试了我的解决方案,他们不首先)

所以你要做的就是选择一个项目,将该文件夹中的所有其他项目作为依赖项。

另见: http://msdn.microsoft.com/en-us/library/ms164311.aspx

答案 1 :(得分:2)

简短的回答是:

  

,如果您要构建特定的设置   项目(在VS中组合在一起)   解决方案)使用普通的MSBuild   必须创建一个专用的MSBuild   每个特定集合的.proj   你想要建立的项目。

您不必创建(和维护)VS解决方案来支持您的构建,但最终它是相同的(MSBuild .proj vs. VS解决方案)。

我有一个类似的场景,有一组60多个.NET项目(.btprpj BizTalk)。为了在VS中开发,这些项目目前由12个VS解决方案组织。

对于自动构建和部署,我创建了一组50多个MSBuild .proj脚本来定位我需要的每个组件(或一组组件)。

MSBuild为VS项目的实际构建(从VCS导出等)自动化所有内容提供了很多可能性。