msbuildAan de slag met msbuild


Opmerkingen

Deze sectie geeft een overzicht van wat msbuild is en waarom een ontwikkelaar het misschien wil gebruiken.

Het moet ook alle grote onderwerpen binnen MSBUILD vermelden en een link naar de gerelateerde onderwerpen bevatten. Aangezien de documentatie voor msbuild nieuw is, moet u mogelijk eerste versies van die gerelateerde onderwerpen maken.

Aangepaste MSBuild-doelen maken

<PropertyGroup>
     <!-- Definition of a Property named "TestCondition". A PropertyGroup may also be placed inside a Target. -->
    <TestCondition>True</TestCondition>
</PropertyGroup>

<!-- This Target will run after the "Clean" Target, subject to a Condition. -->
<Target Name="SpecificTarget" AfterTargets="Clean" Condition=" '$(TestCondition)' == 'True' ">
    <!-- Displaying a custom message -->
    <Message Text="Here is my Specific Target" Importance="Low" />
    <!-- Here come your specific code. -->
</Target>
 

Hallo Wereld

HelloWorld.proj

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="SayHello">  

    <!-- Properties can be passed as command line parameters. i.e. /p:Name=MyName 
    or /p:Name="My Name" (Use quotes if the value includes spaces) -->  
    <PropertyGroup>
        <Name Condition="'$(Name)'==''">Rolo</Name>
    </PropertyGroup>  

    <!-- Items can't be passed as command line parameters. -->   
    <!-- Items can include metadata. i.e. URL -->  
    <ItemGroup>  
        <People Include="World"/>  
        <People Include="StackOverflow">  
            <URL>http://stackoverflow.com</URL>
        </People>
        <People Include="Google">  
            <URL>http://google.com</URL>  
        </People>  
    </ItemGroup>  

    <!-- Targets can be called using it's name. i.e. /t:SayHello -->  
    <Target Name="SayHello">  
        <!-- You can have as many Tasks as required inside a Target. -->  
        <!-- Tasks can be executed conditionally. -->  
        <Message Condition="'%(People.URL)'==''" Text="Hello %(People.Identity), my name is $(Name)! "/>  
        <Message Condition="'%(People.URL)'!=''" Text="Hello %(People.Identity), my name is $(Name)!. Your URL is %(People.URL) "/>  
    </Target>  
</Project>  
 

Uitvoeren met:

  • msbuild HelloWorld.proj
  • msbuild HelloWorld.proj / p: Name = "John Doe"
  • msbuild HelloWorld.proj / p: Name = "Batman" / t: SayHello

Installatie of instellingen

MSBuild 2015

Op Windows zijn er drie keuzes om MSBuild te krijgen:

Op Linux