如何开始MS-Build

Kan*_*kan 7 msbuild

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

  1. 我该如何开始MS-Build?有下载能力吗?
  2. 第一步是什么?
  3. 如何创建MS-Build脚本?

还有很多类似的问题.有人可以指导我吗?

Tuo*_*nen 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>
Run Code Online (Sandbox Code Playgroud)

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

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>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)


slu*_*ter 8

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

这是 MSDN上的一个很好的起始页面.在各种许可证下发布了大量不同的MSBuild任务库,我见过的大多数都可以完全免费使用并附带源代码.可能最大的两个是:

获取信息的其他好地方:

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