Développé par | Microsoft et les contributeurs bénévole |
---|---|
Dernière version | 17.12.6 ()[1] |
Dépôt | github.com/dotnet/msbuild |
État du projet | En développement actif |
Écrit en | C# |
Système d'exploitation | Linux, macOS et Microsoft Windows |
Environnement | Windows |
Formats lus | MSBuild Project (d) et MSBuild website Project (UTF-8) (d) |
Formats écrits | MSBuild Project (d) et MSBuild website Project (UTF-8) (d) |
Type | Moteur de production |
Politique de distribution | Gratuit |
Licence | Libre sous licence MIT |
Site web | docs.microsoft.com/visualstudio/msbuild/msbuild |
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 (BSCMAKE), 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[2]
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
Il est possible d'ajouter des tags pour avoir accès aux variables d'environnement pour définir par exemple ou écrire.
<Target Name="PrintSystemPath"> <Message Text="Path: $(Path)"/> </Target> msbuild MetaDataEx.csproj /t:PrintSystemPath.
Le numéro de version suit le numéro de Framework
Visual Studio propose un plug in de nom Team Explorer qui permet de facilement créer un projet. Microsoft propose aussi un serveur de nom collaboratif de nom Team Foundation Server source ou TFS.
Les limitations de Msbuild par rapport à NAnt sont :
Plusieurs projets tiers existent autour de msbuild: