Szukaj…


Uwagi

W tej sekcji omówiono, czym jest msbuild i dlaczego deweloper może chcieć go używać.

Powinien również wymieniać wszelkie duże tematy w msbuild i zawierać linki do powiązanych tematów. Ponieważ Dokumentacja dla msbuild jest nowa, może być konieczne utworzenie początkowych wersji tych pokrewnych tematów.

Instalacja lub konfiguracja

MSBuild 2015

W systemie Windows istnieją trzy opcje uzyskania MSBuild:

W systemie Linux

Tworzenie niestandardowych celów MSBuild

<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>

Witaj świecie

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>  

Wykonaj z:

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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow