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