Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

MSBuild & Team Build i C#/C++ solutions VSTS ERFA d. 25 November.

Lignende præsentationer


Præsentationer af emnet: "MSBuild & Team Build i C#/C++ solutions VSTS ERFA d. 25 November."— Præsentationens transcript:

1 MSBuild & Team Build i C#/C++ solutions VSTS ERFA d. 25 November

2 Indholdet i disse slides er baseret på egne erfaringer og egne konklusioner. 2

3 Intro Hvad er MSBuild Hvad er Team Build Problemstillinger ”komplekse” solutions Tools og ressourcer Tips 3 Agenda

4 Intro Hvem er jeg Hvem er Oticon Hvem er Team Fitting System Hvad er Genie 4

5 Erik Malmqvist, 31år Udvikler hos Oticon A/S IT ingeniør & elektronikmekaniker Har arbejdet med udvikling af software/hardware i ca. 10år http://blog.malmen.dk Hvem er jeg 5

6 Vi udvikler og producerer høreapparater ~600 på Kongebakken (~4500 i verden) Blandt de største Hvem er Oticon 6 Kongebakken

7 ~50 i teamet (audiologer, testere, udviklere, management) 33 udviklere (7 i Polen) C#/.Net & C++ Scrum Hvem er Team Fitting System 7

8 Hvad er Genie Fitting software Forretnings-kritisk Oplag ~25.000 stk 8 Overstat til 21 sprog ~600.000 liniers kode 34 projekter (27 C# og 7 C++)

9 MSBuild generelt Hvor kender vi MSBuild fra ? MSBuild kort Solution & projekt filer.targets filer Afhænigheder 9

10 10

11 MSBuild kort Microsofts build platform Del af.NET frameworket XML syntax Første gang set i VS2005 og.NET 2.0 11

12 Solution & projekt filer MSBuild bliver brugt her ?  Projekt filer C#  Projekt filer C++  Solution filer C#  Solution filer C++  Team Build projekt filer  Build scripts  Build Definitions  Build Agents 12

13 MSBuild bliver brugt her ? Projekt filer C# (.csproj) Projekt filer C++ (.vcproj) Solution filer C# (.sln) Solution filer C++ (.sln) Team Build projekt filer (TFSBuild.proj) Build scripts (.xml) Build Definitions (TFSBuild.proj) Build Agents (service) Solution & projekt filer 13

14 .targets filer Kommer med MSBuild MSBuild scripts Definerer forskellige operationer f.eks. Build, clean Er ofte afhængige af hinanden. Microsoft.Common.Targets Microsoft.CSharp.Targets 14

15 Afhængigheder Typer Interne referencer Eksterne referencer Skjulte referencer Symptomer Optimering forsvinder Domino effekt Ustabil build 15

16 Team Build generelt Overblik Team Build & MSBuild vs. Visual Studio Build log 16

17 Team Build overblik 17

18 Team Build & MSBuild vs. Visual Studio 18

19 Build log – Team Build Demo solution 19

20 Build log – Team Build 20 Normal log (i forhold til tid) Reduceret log (i forhold til tid) Tool log (i forhold til relation )

21 Problemstillinger ”komplekse” solutions Konfigurationer & output foldere Generede afhængigheder Skjulte afhængigheder Ikke MSBuild Blandede solutions Konklusion 21

22 Konfigurationer & output foldere 22

23 Konfigurationer & output foldere 23

24 Konfigurationer & output foldere 24

25 Genererede afhængigheder Mange relative stier Kompleks build script Komplekse afhængigheder 25

26 Skjulte afhængigheder Pre/post build events 26

27 Ikke MSBuild C++ projekter Tools Exec Custom tasks 27

28 Blandede solutions (C#, C++) 28 Genererede afhængigheder Genererede afhængigheder Ikke MSBuild Konfigurationer Output foldere Skjulte afhængigheder Skjulte afhængigheder

29 Start med en stabil solution/build Brug build scripts til komplekse builds Nemmere at debugge Mere kontrol over afviklingen Kan køres uden for Team Build Vær kritisk overfor loggen Konklusion (egne erfaringer) 29

30 Aaron Hallberg http://blogs.msdn.com/aaronhallberg MSDN MSBuild reference http://msdn.microsoft.com/en-us/library/0k6kkbsd.aspx Microsoft Build Sidekick v2 http://www.attrice.info/msbuild/ Tools og resourcer 30

31 Tools og resourcer Disclaimer: Dette tool har ikke noget at gøre med Oticon. Det er stadigt under udvikling, og skal benyttes på eget ansvar. 31 http://install.malmen.dk/EMBuild/publish.htm

32 Tips MSBuild command line options – TFSBuild.rsp /fileLoggerParameters:verbosity=normal Work item creation – TFSBuild.proj Brug macroer til at ”binde” relative stier 32

33


Download ppt "MSBuild & Team Build i C#/C++ solutions VSTS ERFA d. 25 November."

Lignende præsentationer


Annoncer fra Google