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

Pra*_*eek 8 msbuild continuous-integration solution visual-studio-2010 visual-studio

我们有一个解决方案文件,它包含了一些解决方案的文件夹:图书馆,单元测试,应用...

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

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

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

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

在此先感谢您的帮助.

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

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

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

Jam*_*den 5

是的,您可以使用MSBUILD构建解决方案文件夹

msbuild "framework.sln" /t:First\Project:Build
Run Code Online (Sandbox Code Playgroud)

将建设项目中第一个叫的文件夹,无论其磁盘文件夹和文件夹soltions必须匹配(我想为我的解决方案,他们不先)

因此,您所要做的就是选择一个项目,该项目包含该文件夹中的所有其他项目作为依赖项.

另请参阅:http: //msdn.microsoft.com/en-us/library/ms164311.aspx


Fil*_*urt 2

简短的回答是:

\n
\n

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

\n
\n

您不必创建(和维护)Visual Studio 解决方案来支持您的构建,但最终它是相同的(MSBuild .proj 与 Visual\xc2\xa0Studio 解决方案)。

\n

我有一个类似的场景,包含一组 60 多个 .NET 项目 (.btprpj BizTalk )。为了在 Visual\xc2\xa0Studio 中进行开发,这些项目目前组织在 12 个 Visual\xc2\xa0Studio 解决方案中。

\n

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

\n

MSBuild 提供了很多自动化围绕 Visual\xc2\xa0Studio 项目实际构建的所有内容的可能性(从版本控制系统导出等)。

\n