Référence de la ligne de commande MSBuild
MSBuild.exe génère le projet ou le fichier solution spécifié avec les options définies.
MSBuild.exe [Switches] [ProjectFile]
Arguments
Argument |
Description |
---|---|
ProjectFile |
Génère les cibles spécifiées dans le fichier projet. Si un fichier projet n'est pas spécifié, MSBuild recherche le répertoire de travail en cours d'un fichier dont l'extension se termine par "proj" et utilise ce fichier. Cet argument accepte également les fichiers solution Visual Studio 2005. |
Commutateurs
Commutateur |
Description |
---|---|
/help |
Affiche les informations d'utilisation. /? ou /h sont également acceptables. Par exemple : Msbuild.exe /? |
/nologo |
Masque la bannière de démarrage et le message de copyright. |
/version |
Affiche uniquement les informations de version. /ver est également acceptable. |
@file |
Insère les paramètres de ligne de commande à partir d'un fichier texte. Spécifiez chaque fichier réponse séparément. Pour plus d'informations, consultez Fichiers réponse MSBuild. |
/noautoresponse |
N'inclut pas le fichier MSBuild.rsp automatiquement. /noautorsp est également acceptable. |
/target :targets |
Génère ces cibles dans ce projet. Utilisez un point-virgule ou une virgule pour séparer plusieurs cibles ou spécifiez chaque cible séparément. /t est également acceptable. Par exemple : /target:Resources;Compile |
/property :name=value |
Définit ou substitue ces propriétés de niveau de projet, où name est le nom de la propriété et value la valeur de la propriété. Utilisez un point-virgule ou une virgule pour séparer plusieurs propriétés ou spécifiez chaque propriété séparément. /p est également acceptable. Par exemple : /property:WarningLevel=2;OutputDir=bin\Debug |
/logger :logger |
Spécifie le journal à utiliser pour enregistrer les événements à partir de MSBuild. Pour spécifier plusieurs journaux, définissez chaque journal séparément. La syntaxe de journalisation est la suivante : [LoggerClass,]LoggerAssembly[;LoggerParameters] La syntaxe de LoggerClass est la suivante : [PartialOrFullNamespace.]LoggerClassName
Remarque
Vous n'avez pas besoin de spécifier la classe de journalisation s'il existe un seul journal dans l'assembly.
La syntaxe de LoggerAssembly est la suivante : {AssemblyName[,StrongName] | AssemblyFile} Les paramètres de journalisation sont facultatifs et passés au journal exactement comme vous les avez tapés. Par exemple : /logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML |
/distributedlogger:<central logger>*<forwarding logger> |
Utilisez cet enregistreur d'événements pour consigner des événements provenant de MSBuild. Pour spécifier plusieurs journaux, définissez chaque journal séparément. (Forme abrégée /dl) La syntaxe de <logger> est la suivante : [<logger class>,]<logger assembly>[;<logger parameters>] La syntaxe de <logger class> est la suivante : [<espace de noms partiel ou complet>.]<nom logger class> La syntaxe de <logger assembly> est : {<nom assembly>[,<nom fort>] | <fichier assembly>} Les paramètres <logger parameters> sont facultatifs et passés au journal exactement comme vous les avez tapés. (Forme abrégée : /l) Exemples : /dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral /dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll |
/consoleloggerparameters :parameters |
Spécifie les paramètres à passer au journal de console. /clp est également acceptable. Les paramètres disponibles sont les suivants :
|
/verbosity :level |
Affiche cette quantité d'informations dans le journal de génération. Les enregistreurs individuels affichent des événements basés sur le niveau de commentaires. Un enregistreur d'événements peut également être configuré pour ignorer le niveau de commentaires. Les niveaux de commentaires disponibles sont q[uiet], m[inimal], n[ormal], d[etailed] et diag[nostic]. /v est également acceptable. Par exemple : /verbosity:quiet |
/noconsolelogger |
Désactive le journal de console par défaut et n'enregistre aucun événement dans la console. /noconlog est également acceptable. |
/validate :schema |
Valide le fichier projet et, si la validation réussit, génère le projet. Si schema n'est pas spécifié, valide le projet en fonction du schéma par défaut. Si schema est spécifié, valide le projet en fonction du schéma spécifié. |
/maxcpucount :number |
Spécifie le nombre de processus de travail impliqués dans la génération. Par exemple : C:\Windows\WinFX\v3.5>msbuild.exe *.proj /maxcpucount:3. Cet exemple indique à MSBuild d'utiliser trois processus MSBuild.exe lors de la génération, donc d'autoriser trois projets à être générés en parallèle. /m est également acceptable. |
/ignoreprojectextensions : <extensions> |
Liste d'extensions à ignorer lorsque le fichier projet à générer est déterminé. Utilisez un point-virgule ou une virgule pour séparer plusieurs extensions. (Forme abrégée : /ignore) Exemple : /ignoreprojectextensions:.vcproj,.sln |
/fileLogger |
Enregistre la sortie de génération dans un fichier unique ("msbuild.log") dans le répertoire courant. L'emplacement du fichier ainsi que d'autres paramètres du fileLogger peuvent être spécifiés par l'ajout du commutateur "/fileLoggerParameters". (Forme abrégée : /fl) |
/distributedFileLogger |
Enregistre la sortie de génération dans plusieurs fichiers journaux, un fichier journal par nœud MSBuild. L'emplacement initial de ces fichiers est le répertoire courant. Par défaut, les fichiers sont appelés "MSBuild<IdNœud>.log". L'emplacement des fichiers ainsi que d'autres paramètres du fileLogger, peuvent être spécifiés par l'ajout du commutateur "/fileLoggerParameters". Si un nom de fichier journal est défini par le commutateur fileLoggerParameters, le journal distribué utilisera le nom de fichier fileName comme modèle et ajoutera l'ID de nœud à ce nom de fichier afin de créer un fichier journal pour chaque nœud. |
/fileloggerparameters :<parameters> |
Spécifie les paramètres pour le journal fichier et le journal fichier distribué. (Forme abrégée : /flp) Vous pouvez utiliser jusqu'à dix journaux fichier en plaçant après le paramètre un chiffre identifiant le journal. Par exemple, pour générer des fichiers journaux séparés pour les avertissements et les erreurs, utilisez - /flp1:logfile=errors.txt;errorsonly /flp2:logfile=warnings.txt;warningsonly Les paramètres disponibles sont les suivants : LogFile — le chemin d'accès au fichier journal dans lequel est écrit le journal de génération. Le journal fichier distribué utilise ce paramètre comme un préfixe pour les noms de fichier journal. Append — détermine si le journal de génération est ajouté au fichier journal ou s'il l'écrase. Lorsque vous définissez ce commutateur, le journal de génération est ajouté au fichier journal. Lorsque vous ne définissez pas ce commutateur, le contenu d'un fichier journal existant est remplacé. La valeur par défaut est de ne pas ajouter au fichier journal. Verbosity — substitue le paramètre par défaut détaillé du niveau des commentaires. Encoding — spécifie l'encodage pour le fichier, par exemple, UTF-8. Chacun des paramètres du journal de console peut également être utilisé. Par exemple : /fileLoggerParameters:LogFile=MyLog.log;Append; Verbosity=diagnostic;Encoding=UTF-8. |
/toolsversion :version |
Spécifie la version de l'ensemble d'outils à utiliser pour générer le projet. Cette commande vous permet de générer un projet en utilisant une version différente de celle spécifiée dans Project, élément (MSBuild). Par exemple : C:\Windows\WinFX\v3.5>msbuild.exe *.proj /ToolsVersion:3.5 /p:Configuration=Debug Les valeurs valides pour version sont les suivantes : 2.0, 3.0 et 3.5. Pour plus d'informations sur les ensembles d'outils, consultez Génération de versions spécifiques du .NET Framework. |
/nodeReuse: <parameters> |
Active ou désactive le réemploi de nœuds MSBuild. Les paramètres sont les suivants : True — les Nœuds sont conservés après la fin de la génération et sont réutilisés par les générations suivantes. False — les Nœuds ne sont pas conservés après la fin de la génération. (Forme abrégée : /nr) Exemple : /nr:true |
Notes
Pour passer des paramètres au journal de console par défaut, désactivez-le à l'aide de /noconsolelogger, puis définissez-le à l'aide de la syntaxe /logger. Par exemple, servez-vous de la ligne de commande suivante pour afficher le résumé des performances qui, en général, est affiché uniquement dans les commentaires de diagnostic :
msbuild myproject.csproj /noconsolelogger /l:ConsoleLogger,Microsoft.Build.Engine.dll;performancesummary
Exemple
L'exemple suivant génère la cible rebuild du projet MyProject.proj.
MSBuild.exe MyProject.proj /t:rebuild
Vous pouvez utiliser MSBuild.exe pour exécuter des générations plus complexes. Par exemple, vous pouvez l'utiliser pour générer des cibles spécifiques de projets particuliers dans une solution. L'exemple suivant reconstitue le projet NotInSolutionFolder et nettoie le projet InSolutionFolder qui se trouve dans le dossier de la solution NewFolder.
msbuild SlnFolders.sln /t:NotInSolutionfolder:Rebuild;NewFolder\InSolutionFolder:Clean