如何开始MS-Build

时间:2010-07-27 09:40:38

标签: msbuild

我希望开始使用MS-Build。我有很多项目,我现在手动构建(从Visual Studio)。我想自动化构建过程,最好是从我不想安装Visual Studio的机器上。我开始阅读MSDN上的MS-Build。但我还没有逐步指导从哪里开始以及如何做。我的问题是:

  1. 如何启动MS-Build?有下载能力吗?
  2. 第一步是什么?
  3. 如何创建MS-Build脚本?
  4. 还有很多类似的问题。有人可以指导我吗?

2 个答案:

答案 0 :(得分:11)

MS Build自带.NET Framework本身,可执行文件(msbuild.exe)位于.NET框架目录中,类似于(取决于版本):

  • C:\ Windows \ Microsoft.NET \框架\ v4.0.30319
  • C:\ Windows \ Microsoft.NET \框架\ v3.5版本
  • C:\ Windows \ Microsoft.NET \框架\ V2.0.50727

(从开始菜单使用“Visual Studio命令提示符”时,正确的版本也在%path%中。)

MsBuild文件是xml文件。你可以先创建一个新的文本文件,然后说“c:\ myscript.msbuild”,然后将其复制粘贴到文件中:

<Project DefaultTargets="MyTarget" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="MyTarget">
    <Message Text="Hello world!" Importance="high"/>
  </Target>
</Project>

然后转到命令提示符并键入:

C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ msbuild.exe c:\ myscript.msbuild

这是一个好的开始。 :)

然后您可以自定义目标和属性。 第二个例子:

<Project DefaultTargets="All" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Condition="'$(MyCondition)' == 'x'" >
    <MyProperty>World2</MyProperty>
  </PropertyGroup>
  <Target Name="MyTarget">
    <Message Text="Hello" Importance="high"/>
    <Message Text="$(MyProperty)" Importance="high"/>
  </Target>
  <Target Name="MyTarget2">
  </Target>
  <Target Name="All">
     <CallTarget Targets="MyTarget" />
     <CallTarget Targets="MyTarget2" />
  </Target>
</Project>

C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ msbuild.exe c:\ myscript.msbuild / target:mytarget / property:MyCondition = x

您还可以在构建文件中构建文件。

<Project DefaultTargets="MyTarget" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="MyExternalProperties.msbuild"/>
  <Target Name="MyTarget">
    <Exec Command="echo Hello world 3"/>
  </Target>
</Project>

答案 1 :(得分:8)

MSBuild类似于其他构建产品,如NAnt(以防你使用过其中一种),但它在某些方面仍有所不同。

MSDN上的

Here is a good start page。在各种许可证下发布了大量不同的MSBuild任务库,我见过的大多数都可以完全免费使用并附带源代码。可能最大的两个是:

获取信息的其他好地方:

这应该足以开始了。如果你找不到你想要的任务,那就写下你自己 - 这很容易。