Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
En utilisant des options de ligne de commande avec MSBuild, vous pouvez spécifier la quantité de données de génération que vous souhaitez examiner et si vous souhaitez enregistrer des données de build dans un ou plusieurs fichiers. Vous pouvez également spécifier un enregistreur d’événements personnalisé pour collecter des données de génération. Pour plus d’informations sur les options de ligne de commande MSBuild que cette rubrique ne couvre pas, consultez la référence de ligne de commande.
Remarque
Si vous générez des projets à l’aide de l’IDE Visual Studio, vous pouvez résoudre ces problèmes en examinant les journaux de génération. Pour plus d’informations, consultez Comment : afficher, enregistrer et configurer des fichiers journaux de génération.
Définir le niveau de détail
Lorsque vous générez un projet à l’aide de MSBuild sans spécifier de niveau de détail, les informations suivantes s’affichent dans le journal de sortie :
Erreurs, avertissements et messages classés comme très importants.
Certains événements d’état
Résumé de la génération
En utilisant l'interrupteur -verbosity
(-v
), vous pouvez contrôler la quantité de données qui s'affiche dans le journal de sortie. Pour la résolution des problèmes, utilisez un niveau de verbosité (detailed
d
) ou diagnostic
(diag
), qui offre le maximum d'informations.
Le processus de génération peut être plus lent lorsque vous définissez la valeur -verbosity
sur detailed
et encore plus lent lorsque vous définissez la valeur -verbosity
sur diagnostic
.
msbuild MyProject.proj -t:go -v:diag
Paramètres du niveau de détail
Le tableau suivant montre comment le niveau de détail du journal (valeurs de colonne) affecte les types de messages (valeurs de ligne) qui sont enregistrés.
Type de message/Verbosité | Quiet | Minimal | Normal | Détaillé | Diagnostique |
---|---|---|---|---|---|
Erreurs | ✅ | ✅ | ✅ | ✅ | ✅ |
Avertissements | ✅ | ✅ | ✅ | ✅ | ✅ |
Messages d’importance élevée | ✅ | ✅ | ✅ | ✅ | |
Messages d’importance normale | ✅ | ✅ | ✅ | ||
Messages de faible importance | ✅ | ✅ | |||
Informations supplémentaires sur le moteur MSBuild | ✅ |
Enregistrer le journal de génération dans un fichier
Vous pouvez utiliser le -fileLogger
commutateur (-fl
) pour enregistrer les données de build dans un fichier. L’exemple suivant enregistre les données de build dans un fichier nommé msbuild.log.
msbuild MyProject.proj -t:go -fileLogger
Dans l’exemple suivant, le fichier journal est nommé MyProjectOutput.log, et le niveau de détail de sa sortie est défini sur diagnostic
. Vous spécifiez ces deux paramètres à l’aide du -fileLoggerParameters
commutateur (-flp
).
msbuild MyProject.proj -t:go -fl -flp:logfile=MyProjectOutput.log;verbosity=diagnostic
Pour plus d’informations, consultez Référence de ligne de commande.
Enregistrer le journal de sortie dans plusieurs fichiers
L’exemple suivant enregistre l’intégralité du journal dans msbuild1.log, uniquement les erreurs dans JustErrors.log, et uniquement les avertissements dans JustWarnings.log. L’exemple utilise des numéros de fichier pour chacun des trois fichiers. Les numéros de fichier sont spécifiés juste après les commutateurs -fl
et -flp
(par exemple, -fl1
et -flp1
).
Les commutateurs -fileLoggerParameters
(-flp
) pour les fichiers 2 et 3 déterminent le nom de chaque fichier et ce que doit contenir chaque fichier. Aucun nom n’est spécifié pour le fichier 1. Par conséquent, le nom par défaut de msbuild1.log est utilisé.
msbuild MyProject.proj -t:go -fl1 -fl2 -fl3 -flp2:logfile=JustErrors.log;errorsonly -flp3:logfile=JustWarnings.log;warningsonly
Si vous utilisez un interpréteur de commandes qui interprète des points-virgules (par exemple, bash), placez des guillemets simples ou doubles autour d’une option comportant des points-virgules pour l’empêcher d’être interprété comme séparateur de commandes. Pour plus d’informations, consultez Référence de ligne de commande.
Enregistrer un journal binaire
Vous pouvez enregistrer le journal dans un format binaire compressé à l’aide du commutateur -binaryLogger
(-bl
). Ce journal inclut une description détaillée du processus de compilation et peut être lu par certains outils d’analyse des logs.
Dans l’exemple suivant, un fichier journal binaire est créé avec le nom binarylogfilename.
-bl:binarylogfilename.binlog
Vous pouvez utiliser la visionneuse de journaux structurés pour afficher les journaux binaires d’une manière qui facilite considérablement la visualisation de ce qui se passe.
Pour plus d’informations, consultez Référence de ligne de commande.
Utiliser un enregistreur d’événements personnalisé
Vous pouvez écrire votre propre enregistreur d’événements en créant un type managé qui implémente l’interface ILogger . Vous pouvez utiliser un enregistreur d’événements personnalisé, par exemple, pour envoyer des erreurs de génération dans un e-mail, les enregistrer dans une base de données ou les enregistrer dans un fichier XML. Pour plus d’informations, consultez Générer des enregistreurs d’événements.
Dans la ligne de commande MSBuild, vous spécifiez l’enregistreur d’événements personnalisé à l’aide du -logger
commutateur. Vous pouvez également utiliser le -noconsolelogger
commutateur pour désactiver l’enregistreur d’événements de console par défaut.