Msbuild 如何从MS Build开始

Msbuild 如何从MS Build开始,msbuild,Msbuild,我希望开始使用MS Build。到目前为止,我有很多手动构建的项目(从VisualStudio)。我想自动化构建过程,最好是从一台我不希望安装VisualStudio的机器上。我开始阅读有关基于MSDN的MS构建的文章。但我还没有得到一个循序渐进的指导,从哪里开始,怎么做。我的问题是: 如何启动MS Build?有可以下载的吗 第一步是什么 如何创建MS构建脚本 还有很多类似的问题。有人能为我指点迷津吗?MS Build自带.NET Framework本身,可执行文件(msbuild.exe)位

我希望开始使用MS Build。到目前为止,我有很多手动构建的项目(从VisualStudio)。我想自动化构建过程,最好是从一台我不希望安装VisualStudio的机器上。我开始阅读有关基于MSDN的MS构建的文章。但我还没有得到一个循序渐进的指导,从哪里开始,怎么做。我的问题是:

  • 如何启动MS Build?有可以下载的吗
  • 第一步是什么
  • 如何创建MS构建脚本

  • 还有很多类似的问题。有人能为我指点迷津吗?

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

    • C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319
    • C:\WINDOWS\Microsoft.NET\Framework\v3.5
    • C:\WINDOWS\Microsoft.NET\Framework\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>
    
    
    世界2
    
    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>
    

    MSBuild与NAnt等其他构建产品类似(以防万一您使用过其中一种),但在几个方面仍然不同

    在MSDN上。有很多不同的MSBuild任务库是根据不同的许可证发布的,我看到的大多数都是完全免费使用的,并附带源代码。可能最大的两个是:

    • 开源
    • codeplex上的
    其他获取信息的好地方:

    • 的博客(他对该产品非常了解,但直到最近才为微软工作)。他也常在这里闲逛,可能会偶然发现这个问题

    这就足够开始了。如果你找不到一项任务来做你想做的事情,那就自己写吧——这很简单。

    非常感谢。这将是我最体面的开始。现在我将学习如何为我的项目编写构建文件。谢谢。虽然我从MSDN的起始页看不太清楚,但我希望,一旦我能够使用MSBuild,其他社区项目将增强我在MSBuild上的功能。谢谢,我也在那里添加了我的书的链接。它是有关MSBuild信息的最佳单一来源。