MSBuild

MSBuild

MSBuild
MSBuild
Description de l'image MSBuild logo (2024).svg.

Informations
Développé par Microsoft et les contributeurs bénévole
Dernière version 18.9.6 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/dotnet/msbuildVoir et modifier les données sur Wikidata
État du projet En développement actif
Écrit en C#Voir et modifier les données sur Wikidata
Système d'exploitation Linux, macOS et Microsoft WindowsVoir et modifier les données sur Wikidata
Environnement Windows
Formats lus MSBuild Project (d) et MSBuild website Project (UTF-8) (d)Voir et modifier les données sur Wikidata
Formats écrits MSBuild Project (d) et MSBuild website Project (UTF-8) (d)Voir et modifier les données sur Wikidata
Type Moteur de production
Politique de distribution Gratuit
Licence Libre sous licence MIT
Site web docs.microsoft.com/visualstudio/msbuild/msbuildVoir et modifier les données sur Wikidata

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 à l'outil 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]

Exemple

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 tags

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

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

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.

Projet alternatif

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

  1. « Release 18.9.6 », (consulté le )
  2. Référence MSBuild sur Microsoft MSDN

Voir aussi

Liens externes

Plusieurs projets tiers existent autour de msbuild:

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

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.