Download - MS Build
![Page 1: MS Build](https://reader036.vdocuments.pub/reader036/viewer/2022082809/5575d514d8b42a917e8b4c2c/html5/thumbnails/1.jpg)
MSBuild - FahrplanMSBuild - Fahrplan
Co je to MSBuild a k čemu slouží?
Stručný popis syntaxe.
Možnosti rozšíření.
Diskuze.
![Page 2: MS Build](https://reader036.vdocuments.pub/reader036/viewer/2022082809/5575d514d8b42a917e8b4c2c/html5/thumbnails/2.jpg)
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
![Page 3: MS Build](https://reader036.vdocuments.pub/reader036/viewer/2022082809/5575d514d8b42a917e8b4c2c/html5/thumbnails/3.jpg)
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
![Page 4: MS Build](https://reader036.vdocuments.pub/reader036/viewer/2022082809/5575d514d8b42a917e8b4c2c/html5/thumbnails/4.jpg)
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>
![Page 5: MS Build](https://reader036.vdocuments.pub/reader036/viewer/2022082809/5575d514d8b42a917e8b4c2c/html5/thumbnails/5.jpg)
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
![Page 6: MS Build](https://reader036.vdocuments.pub/reader036/viewer/2022082809/5575d514d8b42a917e8b4c2c/html5/thumbnails/6.jpg)
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
![Page 7: MS Build](https://reader036.vdocuments.pub/reader036/viewer/2022082809/5575d514d8b42a917e8b4c2c/html5/thumbnails/7.jpg)
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); }}
![Page 8: MS Build](https://reader036.vdocuments.pub/reader036/viewer/2022082809/5575d514d8b42a917e8b4c2c/html5/thumbnails/8.jpg)
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
![Page 9: MS Build](https://reader036.vdocuments.pub/reader036/viewer/2022082809/5575d514d8b42a917e8b4c2c/html5/thumbnails/9.jpg)
Místo pro otázkyMísto pro otázky
Otázky
Odpovědi
![Page 10: MS Build](https://reader036.vdocuments.pub/reader036/viewer/2022082809/5575d514d8b42a917e8b4c2c/html5/thumbnails/10.jpg)
Děkuji za pozornostDěkuji za pozornost