msbuild Samouczek
Rozpoczęcie pracy z msbuild
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:
- Zainstaluj program Visual Studio 2015
- Pobierz Narzędzia kompilacji Microsoft, które zawierają kompilatory VB i C #.
- Buduj ze źródła
W systemie Linux
- Buduj ze źródła, korzystając z tego przewodnika
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