Référence de la ligne de commande MSBuild

Lorsque vous utilisez MSBuild.exe pour générer un fichier projet ou solution, vous pouvez inclure plusieurs commutateurs pour spécifier différents aspects du processus.

MSBuild.exe [Switches] [ProjectFile]

Arguments

Argument

Description

ProjectFile

Génère des cibles dans le fichier projet que vous spécifiez.Si vous ne spécifiez pas un fichier projet, MSBuild recherche dans le répertoire de travail actif pour une extension de nom de fichier que se termine par « proj » et utilise ce fichier.Vous pouvez également spécifier un fichier solution Visual Studio pour cet argument.

Commutateurs

Commutateur

Forme abrégée

Description

/help

/?ou /h

Les informations d'utilisation d'affichage.La commande suivante est un exemple :

msbuild.exe /?

/detailedsummary

/ds

Des informations détaillées show à la fin de le journal de génération sur les paramètres qui ont été générées et comment ils ont été planifiés aux nœuds.

/ignoreprojectextensions : extensions

/ignore : extensions

Ignorez les extensions spécifiées pour déterminer quel fichier projet à générer.Utilisez un point-virgule ou une virgule pour séparer plusieurs extensions, comme le montre l'exemple suivant :

/ignoreprojectextensions:.vcproj,.sln

/maxcpucount [:number]

/m [:number]

Spécifie le nombre maximal de processus simultanés à utiliser lors de la génération.Si vous n'ajoutez pas ce commutateur, la valeur par défaut est 1.Si vous incluez ce commutateur sans spécifier de valeur, MSBuild utilisera jusqu'au nombre de processeurs de l'ordinateur.Pour plus d'informations, consultez Génération parallèle de plusieurs projets avec MSBuild.

L'exemple suivant indique à MSBuild de générer à l'aide de trois processus MSBuild, qui fournit trois projets de générer simultanément :

msbuild myproject.proj /maxcpucount:3

/noautoresponse

/noautorsp

N'incluez pas de fichier MSBuild.rsp automatiquement.

/nodeReuse :value

/nr :value

Activez ou désactivez la réutilisation des nœuds de MSBuild.Vous pouvez spécifier les valeurs suivantes :

  • True.Les nœuds restent une fois la génération terminée afin que les builds ultérieures puissent les utiliser (par défaut).

  • False.Les nœuds ne restent pas une fois la génération terminée.

Un nœud correspond à un projet qui exécute.Si vous incluez le commutateur d' /maxcpucount, plusieurs nœuds peuvent s'exécuter simultanément.

/nologo

N'affichez pas la bannière de démarrage ou le message de copyright.

/preprocess [:filepath]

/pp [:filepath]

Créez un fichier projet unique et de synthèse par la fonctionnalité inline tous les fichiers qui seraient importés pendant une génération, avec leurs délimités.Vous pouvez utiliser ce commutateur à déterminer plus facilement les fichiers sont importés, où les fichiers sont importés, et les fichiers contribuent à la génération.Lorsque vous utilisez ce commutateur, le projet n'est pas généré.

Si vous spécifiez filepath, le fichier projet de synthèse est sortie au fichier.Sinon, la sortie apparaît dans la fenêtre de console.

Pour plus d'informations sur l'utilisation de l'élément d' Import pour insérer un fichier projet dans un autre fichier projet, consultez Import, élément (MSBuild) et le Comment : utiliser la même cible dans plusieurs fichiers projet.

/property :name=value

/p :name=value

L'ensemble ou remplacent les propriétés spécifiées au niveau de le projet, où name est le nom de la propriété et value est la valeur de propriété.Spécifiez chaque propriété séparément, ou utilisez un point-virgule ou une virgule pour séparer plusieurs propriétés, comme le montre l'exemple suivant :

/property:WarningLevel=2;OutputDir=bin\Debug

/target :targets

/t:targets

Générez les cibles spécifiées dans le projet.Spécifiez chaque cible séparément, ou utilisez un point-virgule ou une virgule pour séparer les cibles multiples, comme le montre l'exemple suivant :

/target:Resources;Compile

Si vous spécifiez toutes les cibles à l'aide de ce commutateur, ils sont exécutés au lieu de toutes les cibles dans l'attribut d' DefaultTargets dans le fichier projet.Pour plus d'informations, consultez Ordre de génération des cibles et Comment : spécifier la cible à générer en premier.

Une cible est un groupe de tâches.Pour plus d'informations, consultez Cibles de MSBuild.

/toolsversion :version

/tv :version

Spécifie la version de l'ensemble d'outils à utiliser pour générer le projet, comme le montre l'exemple suivant : /toolsversion:3.5

En utilisant ce commutateur, vous pouvez générer un projet et spécifier une version qui diffère de la version spécifiée dans Project, élément (MSBuild).Pour plus d'informations, consultez Substitution des paramètres ToolsVersion.

Pour MSBuild 4,5, vous pouvez spécifier les valeurs suivantes pour version: 2,0, 3,5, et 4,0.Si vous spécifiez 4,0, la propriété de génération d' VisualStudioVersion qui spécifie Sub- ensemble d'outils à utiliser.Pour plus d'informations, consultez la section d'une précision ensembles d'outils de Ensemble d'outils MSBuild (ToolsVersion).

Un ensemble d'outils se compose des tâches, de cibles, et les outils utilisés pour générer une application.Les outils incluent des compilateurs tels que csc.exe et vbc.exe.Pour plus d'informations sur les ensembles d'outils, consultez Ensemble d'outils MSBuild (ToolsVersion), Configurations standard et personnalisée de l'ensemble d'outils, et le Vue d'ensemble du multi-ciblage MSBuild.

RemarqueRemarque
La version de l'ensemble d'outils n'est pas identique à la version cible du. Net Framework, qui est la version du .NET Framework sur lequel un projet repose l'exécution.Pour plus d'informations, consultez Framework cible et plate-forme cible (MSBuild).

/validate : [schema]

/val[schema]

Validez le fichier projet et, si la validation réussit, générez le projet.

Si vous ne spécifiez pas schema, le projet est validé par rapport à le schéma par défaut.

Si vous spécifiez schema, le projet est validé par rapport à le schéma que vous spécifiez.

La configuration suivante est un exemple : /validate:MyExtendedBuildSchema.xsd

/verbosity :level

/v :level

Spécifie la quantité d'informations à afficher dans le journal de génération.Chaque journal affiche des événements en fonction de le niveau de détail que vous définissez pour ce journal.

Vous pouvez spécifier les niveaux de détail suivants : q[uiet], m[inimal], n[ormal], d[etailed], et diag[nostic].

La configuration suivante est un exemple : /verbosity:quiet

/version

/ver

Les informations de version d'affichage uniquement.Le projet n'est pas généré.

@file

Commutateurs de ligne de commande d'insertion à partir d'un fichier texte.Si vous avez plusieurs fichiers, vous les spécifiez séparément.Pour plus d'informations, consultez Fichiers réponse MSBuild.

ms164311.collapse_all(fr-fr,VS.110).gifCommutateurs pour les journaux

Commutateur

Forme abrégée

Description

/consoleloggerparameters :parameters

/clp :parameters

Passez les paramètres que vous spécifiez au journal de console, qui affiche les informations de build dans la fenêtre de console.Vous pouvez spécifier les paramètres suivants :

  • PerformanceSummary.Afficher le temps passé dans les tâches, les cibles, et les projets.

  • Résumé.Afficher l'erreur et le résumé d'avertissement à la fin.

  • NoSummary.N'affichez pas l'erreur et le résumé d'avertissement à la fin.

  • ErrorsOnly.Erreurs d'afficher uniquement.

  • WarningsOnly.Avertissements à afficher uniquement.

  • NoItemAndPropertyList.N'affichez pas la liste d'éléments et de propriétés qui apparaîtraient au début de chaque génération de projet si le niveau de commentaires a la valeur diagnostic.

  • ShowCommandLine.Messages d' TaskCommandLineEvent show.

  • ShowTimestamp.Afficher l'horodatage comme préfixe à tout message.

  • ShowEventId.Afficher l'ID d'événement pour chaque événement démarré, événement terminé, et le message.

  • ForceNoAlign.N'aligner pas le texte à la taille de la mémoire tampon de console.

  • DisableConsoleColor.Utilisez les couleurs de console par défaut pour tous les messages d'enregistrement.

  • DisableMPLogging.Désactivez le style de journalisation multiprocesseurs de sortie en exécutant en mode non multiprocesseur.

  • EnableMPLogging.Activez le style de journalisation multiprocesseurs même quand en mode non multiprocesseur.Ce style de journalisation est activé par défaut.

  • Commentaires.Substituez /verbosity définissant pour ce journal.

Utilisez un point-virgule ou une virgule pour séparer plusieurs paramètres, comme illustré dans l'exemple suivant :

/consoleloggerparameters:PerformanceSummary;NoSummary /verbosity:minimal

/distributedFileLogger

/dfl

Enregistrez la sortie de génération de chaque nœud de MSBuild dans son propre fichier.L'emplacement initial de ces fichiers est le répertoire courant.Par défaut, les fichiers sont nommés « MSBuildNodeId.log ».Vous pouvez utiliser le commutateur d' /fileLoggerParameters pour spécifier l'emplacement des fichiers et d'autres paramètres pour le fileLogger.

Si vous nommez un fichier journal à l'aide de le commutateur d' /fileLoggerParameters, le journal distribué utilisera que nom comme modèle et ajoute l'ID de nœud à ce nom lorsque vous créez un fichier journal pour chaque nœud.

/distributedlogger :central logger*forwarding logger

/dl :central logger*forwarding logger

Journaux des événements MSBuild, joignant une autre instance d'enregistreur d'événements à chaque nœud.Pour spécifier plusieurs journaux, définissez chaque journal séparément.

Vous utilisez la syntaxe de journal pour spécifier un journal.Pour la syntaxe du journal, consultez le commutateur d' /logger ci-dessous.

Les exemples suivants indiquent comment utiliser ce commutateur :

/dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral

/dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll

/fileLogger[valeur]

/fl[number]

Enregistrez la sortie de génération dans un fichier unique de l'annuaire actuel.Si vous ne spécifiez pas number, le fichier de sortie est nommé msbuild.log.Si vous spécifiez number, le fichier de sortie est nommé msbuildn.log, où n est number.Number peut être un nombre de 1 à 9.

Vous pouvez utiliser le commutateur d' /fileLoggerParameters pour spécifier l'emplacement du fichier et d'autres paramètres pour le fileLogger.

/fileloggerparameters : [valeur] parameters

/flp : [ number] parameters

Spécifie tous les paramètres supplémentaires pour le journal de fichier et le journal distribué de fichier.La présence de ce commutateur implique que correspondre/commutateur d'filelogger[number] est présent.Number peut être un nombre de 1 à 9.

Vous pouvez utiliser tous les paramètres répertoriés pour /consoleloggerparameters.Vous pouvez également utiliser un ou plusieurs des paramètres suivants :

  • Fichiers journaux.Le chemin d'accès au fichier journal dans lequel le journal de génération est écrit.Le journal distribué de fichier préfixe ce chemin d'accès aux noms de ses fichiers journaux.

  • Ajoutez.Le détermine si le journal de génération est ajouté au fichier journal ou remplace.Lorsque vous définissez ce commutateur, le journal de génération est ajouté au fichier journal.Lorsque vous ne définissez pas le commutateur, le contenu d'un fichier journal existant est remplacé.

  • Encoder.Spécifie l'encodage du fichier (par exemple, UTF-8, Unicode, ou ASCII).

L'exemple suivant génère les fichiers journaux distincts pour les avertissements et les erreurs :

/flp1:logfile=errors.txt;errorsonly /flp2:logfile=warnings.txt;warningsonly

Les exemples suivants illustrent d'autres possibilités :

/fileLoggerParameters:LogFile=MyLog.log;Append; Verbosity=diagnostic;Encoding=UTF-8

/flp:Summary;Verbosity=minimal;LogFile=msbuild.sum

/flp1:warningsonly;logfile=msbuild.wrn

/flp2:errorsonly;logfile=msbuild.err

/logger :logger

/l :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.

Utilisez la syntaxe suivante pour logger: [LoggerClass,]LoggerAssembly[;LoggerParameters]

Utilisez la syntaxe suivante pour LoggerClass: [PartialOrFullNamespace.]LoggerClassName

Vous ne devez pas spécifier la classe de journalisation si l'assembly contient exactement un journal.

Utilisez la syntaxe suivante pour LoggerAssembly: {AssemblyName[,StrongName] |AssemblyFile}

Les paramètres du journal sont facultatifs et sont passés au journal exactement comme vous les écrivez.

Les exemples suivants utilisent le commutateur d' /logger .

/logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral

/logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML

/noconsolelogger

/noconlog

Désactivez le journal de console par défaut, et n'effectuez pas de journaux des événements dans la console.

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 régénère le projet NotInSolutionFolder et nettoie le projet InSolutionFolder, qui se trouve dans le dossier de solution d' NewFolder .

msbuild SlnFolders.sln /t:NotInSolutionfolder:Rebuild;NewFolder\InSolutionFolder:Clean

Voir aussi

Référence

Propriétés communes des projets MSBuild

Autres ressources

Référence MSBuild