ms build

Post on 09-Jun-2015

95 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MSBuild - FahrplanMSBuild - Fahrplan

Co je to MSBuild a k čemu slouží?

Stručný popis syntaxe.

Možnosti rozšíření.

Diskuze.

Co je to MSBuild?Co je to MSBuild?

Platforma pro automatizovaný build aplikací pro .net 2.0

Silný nástroj integrovaný do VS 2005

Commandlinová aplikace přijímající parametry a vstupní xml <Project xmlns="

http://schemas.microsoft.com/developer/msbuild/2003"> <Target Name="Hello"> <Message Text="Hello Atlas!" Importance="high"/> </Target></Project>

msbuild HelloWorld.proj /t:Hello

Stručný popis syntaxeStručný popis syntaxe

Jednoduchý XML dialekt s plnou podporou Intellisense

Kořenový element <Project> z prostoru názvů

http://schemas.microsoft.com/developer/msbuild/2003

Podpora proměnných, parametrů, inklůdování ->

znovupoužitelnost<PropertyGroup> <MyProperty Condition=" '$(MyProperty)' == '' ">value</MyProperty></PropertyGroup>

msbuild Parameters.proj /p:DalsiPromenna=JejiHodnota

Stručný popis syntaxeStručný popis syntaxe

Staré známé parametry kompilátoru z příkazové řádky<ItemGroup> <Reference Include="System" /></ItemGroup><ItemGroup> <Compile Include="Class1.cs" /></ItemGroup>

Další soubory v projektu<ItemGroup> <None Include="Data.xml" /></ItemGroup>

Možnosti rozšířeníMožnosti rozšíření

Systém postavený na cílech a úkolech.

Každý cíl se skládá z nějakých úkolů.

Sada úkolů je součásti Frameworku, další úkoly se dají

stáhnout z různých komunit nebo dopsat vlastní.

Definice "flow" cílů, jejich závislostí a "defaultní" cíle

Vybrané úkolyVybrané úkoly

Copy – kopírování souborů Delete – mazání souborů MakeDir – vytváření adresářů RemoveDir – mazání adrsářů Message – vypsání zprávy do loggeru (např. konzola) AspNetCompiler – kompilace websity ResGen – genrátor zdrojů Exec – spuštění externí aplikace CallTarget – spuštění jiného cíle

Vlastní úkol - definiceVlastní úkol - definicepublic class MujUkol : Task { private ITaskItem text;

public ITaskItem Text { get { return this.text; } set { this.text = value; } }

public override bool Execute() { // udelej nejakou akci Log.LogMessageFromText("Pozdrav:", this.Text); }}

Vlastní úkol - použitíVlastní úkol - použití<Project DefaultTask="Pozdrav" xmlns="…"> <PropertyGroup> <SharedTasksDir>C:\My Tasks\bin</SharedTasksDir> <Greething>Zdravím Atlas</Greething> </PropertyGroup> <UsingTask AssemblyFile="$(SharedTasksDir)\Tasks.dll"

TaskName="MujUkol"/> <Target Name="Pozdrav"> <MujUkol Text="$(Greething)"/> </Target></Project>

msbuild Pozdrav.proj

Místo pro otázkyMísto pro otázky

Otázky

Odpovědi

Děkuji za pozornostDěkuji za pozornost

top related