Share via


Référence de la ligne de commande MSBuild

Mise à jour : novembre 2007

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 :

  • PerformanceSummary : affiche le temps consacré aux tâches, cibles et projets.

  • NoSummary : masque le résumé des erreurs et l'avertissement affichés à la fin d'une génération.

  • NoItemAndPropertyList : masque la liste des éléments et des propriétés affichée au début de chaque génération de projet dans les commentaires diagnostic.

/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)

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 le codage 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 de 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

Voir aussi

Autres ressources

Référence MSBuild