MSBuild - MSBuild

MSBuild
Développeur(s) Microsoft
Première version 2003 ; il y a 18 ans ( 2003 )
Version stable
v16.11.0 / 11 août 2021 ; il y a 21 jours ( 2021-08-11 )
Dépôt
Écrit en C#
Système opérateur Multiplateforme
Plate-forme .NET Framework , .NET Core
Taper Outil de construction
Licence Licence MIT
Site Internet docs .microsoft .com /visualstudio /msbuild /msbuild Modifiez ceci sur Wikidata

Microsoft Build Engine , mieux connu sous le nom de MSBuild , est un ensemble d' outils de génération gratuit et open source pour le code managé ainsi que le code C++ natif et faisait partie de .NET Framework . Visual Studio dépend de MSBuild, mais pas l'inverse. La gestion du cycle de vie des applications Visual Studio dépend de MSBuild pour effectuer des builds d'équipe via Azure DevOps Server .

Aperçu

MSBuild est un outil de génération qui permet d'automatiser le processus de création d'un produit logiciel, y compris la compilation du code source , l' empaquetage , les tests, le déploiement et la création de documentations. Avec MSBuild, il est possible de créer des projets et des solutions Visual Studio sans l' IDE Visual Studio installé. MSBuild est gratuit et open-source . MSBuild était auparavant fourni avec .NET Framework ; à partir de Visual Studio 2013 , cependant, il est fourni avec Visual Studio à la place. MSBuild est un remplacement fonctionnel de l' utilitaire nmake , qui reste utilisé dans les projets issus des anciennes versions de Visual Studio.

MSBuild agit sur les fichiers de projet MSBuild qui ont une syntaxe XML similaire à Apache Ant ou NAnt . Même si la syntaxe est basée sur un schéma XML bien défini, la structure et le fonctionnement fondamentaux sont comparables à l' utilitaire make Unix traditionnel : l'utilisateur spécifie ce qui sera utilisé (généralement des fichiers de code source) et quel devrait être le résultat (généralement un fichier statique bibliothèque, DLL ou une application exécutable), mais l'utilitaire lui-même décide quoi faire et l'ordre dans lequel effectuer la construction.

MSBuild peut générer un projet sur une version .NET Framework prise en charge de votre choix. Cette fonctionnalité est appelée "multitargeting". Cependant, toute version donnée d'un projet ne peut cibler qu'une seule version du framework à la fois.

Histoire

MSBuild a été créé en 2003 pour cibler .NET Framework 2.0 pour une utilisation dans Visual Studio 2005 (nom de code Whidbey) et Windows Vista (nom de code Longhorn).

Versions

Version .NET Framework Version Visual Studio Emplacements d'installation habituels (x86)
2.0 2.0 2005 C:\Windows\Microsoft.NET\Framework\v2.0.50727
3.5 3.5 2008 C:\Windows\Microsoft.NET\Framework\v3.5
4.7.3062.0 4.0 2010 C:\Windows\Microsoft.NET\Framework\v4.0.30319
4.8.3761.0 4.5.2 2012 C:\Windows\Microsoft.NET\Framework\v4.0.30319
12,0 4.5.2 2013 C:\Program Files (x86)\MSBuild\12.0\Bin
14,0 4.6 2015 C:\Program Files (x86)\MSBuild\14.0\Bin
15,0 4.7 2017
  • C:\Program Files (x86)\Microsoft Visual Studio\2017\ BuildTools \MSBuild\15.0\Bin
  • C:\Program Files (x86)\Microsoft Visual Studio\2017\ Enterprise \MSBuild\15.0\Bin
  • C:\Program Files (x86)\Microsoft Visual Studio\2017\ Communauté \MSBuild\15.0\Bin
16,0 4.7.2 2019
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\ BuildTools \MSBuild\Current\Bin
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\ Enterprise \MSBuild\Current\Bin
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\ Communauté \MSBuild\Current\Bin

Terminologie

Cible
Une cible contient un ensemble de tâches à exécuter par MSBuild. Le focus de MSBuild est le résultat Target spécifié lors de l'appel de MSBuild avec le fichier projet. En effet, un projet peut contenir plusieurs entrées cibles , chacune exécutée de manière séquentielle (et conditionnellement). Les cibles dépendantes suivantes sont exécutées avant la cible demandée. Le flux d'exécution de la cible actuelle peut être dirigé à l'aide des attributs suivants : Condition, BeforeTargets, AfterTargets et DependsOnTargets. Chaque cible peut être autonome avec les tâches nécessaires pour s'accomplir. Une cible est généralement une action exécutée sur un fichier, un ensemble de fichiers ou un répertoire.
Tâche
Une tâche est une commande qui est exécutée afin de compléter une cible. Les tâches sont utilisées pour regrouper et exécuter un nombre quelconque d'actions pendant le processus de génération. Ils sont généralement implémentés dans un assembly .NET en tant que classe qui hérite de la classe Task ou implémente l'interface ITask. De nombreuses tâches de base sont fournies dans le cadre du .NET Framework et les tâches développées par la communauté sont disponibles gratuitement. Quelques exemples de tâches incluent la copie de fichiers, la création de répertoires ou l'analyse XML.
Propriétés et éléments
MSBuild fournit des propriétés et des éléments , qui sont conceptuellement équivalents aux macros de make . Les propriétés spécifient des valeurs statiques, tandis que les éléments sont généralement utilisés pour définir des ensembles de fichiers ou de dossiers sur lesquels effectuer des tâches. La spécification des fichiers sur les éléments est facilitée par la prise en charge des caractères génériques.

Voir également

Les références

Lectures complémentaires

Liens externes