MSBuild

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
MSBuild
Développeur Microsoft
Environnement Windows
Type Moteur de production
Licence Propriétaire, EULA

MSbuild (Microsoft Build Engine) est l'outil qui permet le développement logiciel dans l'environnement de Microsoft. Depuis Visual Studio 2005, MSbuild est gratuit puisqu'il est fourni dans le framework 2.0. MSbuild reste cependant compatible avec les différents types de fichiers de projet générés par Visual Studio ( *.proj, *.vbproj, *.csproj). Csproj utilise une syntaxe xml. C'est une nouveauté importante dans ce domaine puisque contrairement aux outils précédent (BSMAKE), l'utilitaire est documenté et bénéficie d'un support de la part de Microsoft. L'outil est très proche dans son fonctionnement de Ant et make. L'appel d'un utilitaire est remplacé par des balises.

De nouvelles fonctionnalités peuvent être codées sur Msbuild dont il existe une référence complète sur le site de Microsoft[1]


Exemple[modifier | modifier le code]

projet.csproj

<Project DefaultTargets="Copy"
       xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
       ToolsVersion="3.5">
 <ItemGroup>
   <Assembly Include="Project1\bin\Debug\Project1.*"/>
   <Assembly Include="Project2\bin\Debug\Project2.*"/>
 </ItemGroup>
 <Target Name="Copy">
   <Copy SourceFiles="@(Assembly)"
           DestinationFolder="Destination\bin"
           OverwriteReadOnlyFiles="True"/>
 </Target>
</Project>

Compilation du projet :

C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe projet.csproj


Les principaux tag[modifier | modifier le code]

Il est possible d'ajouter des tags pour avoir accès aux variables d'environnement pour définir par exemple ou écrire.

Item
target
Ces éléments permettent d'exécuter un groupe de tâches dans un ordre particulier.
<Target Name="PrintSystemPath">
   <Message Text="Path: $(Path)"/>
</Target>
msbuild MetaDataEx.csproj /t:PrintSystemPath.
Task
partie de code réutilisable
Properties
la configuration se base sur des couples clé/valeur

Version[modifier | modifier le code]

Le numéro de version suit le numéro de Framework

  • version 1.0 : 2006
  • version 2.0 :
  • version 3.5 : 2011

TFS Team Build[modifier | modifier le code]

Visual Studio propose un plug in de nom Team Explorer qui permet de facilement créer un projet. Microsoft propose aussi un server de nom collaboratif de nom Team Foundation Server source ou TFS.

Projet alternatif[modifier | modifier le code]

Les limitations de Msbuild par rapport à NAnt sont :

  • optimisé et facile d'utilisation qu'en association avec VS.
  • manuellement pénible et long d'écriture fichier dû au temps d'apprentissage de la syntaxe ...
  • les paramètres sont tous globaux.
  • plusieurs possibilités de référencer un item ou la valeur d'une propriété
  • la qualité de la documentation

Notes et références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Plusieurs projets tiers existent autour de msbuild:

  • nxslt est un outil compatible NAnt et MSBuild [1]
  • Microsoft Build Sideckick [2]
  • TEamcity [3]