115 votes

Quel est l'emplacement par défaut des journaux de MSBuild ?

J'utilise Visual Studio Express 2012. Où se trouve le fichier journal ? J'ai cherché dans le dossier où sont stockés ma solution et mes projets, mais je ne trouve aucun fichier .log.

Il s'agit de la configuration pour la journalisation :

enter image description here

116voto

Dmitry Pavlov Points 2260

Le fichier journal de Visual Studio n'est pris en charge que pour les projets C++. Vous devez juste travailler avec la fenêtre de sortie pour les autres.

Voir ce fil similaire : VS2010 : journal de construction minimal dans la sortie et journal détaillé dans le fichier journal

Et au cas où vous feriez ça pour un projet C++, le fichier est à :

... journal de construction dans le répertoire des fichiers intermédiaires ... Le chemin et le nom du journal de compilation sont représentés par la macro MSBuild expression, $(IntDir)\$(MSBuildProjectName).log .

34voto

danglund Points 1006

Utiliser la sortie de la compilation au lieu de l'enregistrement dans un fichier. Au lieu de copier/coller, cliquez simplement quelque part dans la sortie et appuyez sur CTRL + S pour enregistrer. Visual Studio vous demandera un emplacement (testé avec Visual Studio 2017, mais je suppose que cela fonctionne également dans les versions antérieures).

enter image description here

24voto

C Johnson Points 4900

La documentation msdn est assez claire à ce sujet (et vous n'allez pas aimer ça !) :

https://msdn.microsoft.com/en-us/library/jj651643.aspx

Où il est dit :

Pour créer un fichier journal de construction pour un projet de code géré Dans la barre de menus, choisissez Build, Build Solution.

Dans la fenêtre de sortie, mettez en évidence le les informations de la construction, puis copiez-les dans le Presse-papiers.

Ouvrir un éditeur de texte, tel que Notepad, collez les informations dans le fichier, et puis enregistrez-le.

2voto

Brad Points 1510

S'il est vrai que VS ne le permet pas directement, il est toujours possible de construire avec MSBuild "à l'intérieur" de VS2015 et d'obtenir à la fois la sortie de la fenêtre de construction et le fichier journal, comme suit : (On peut dire que c'est un peu un hack).

  1. Dans votre solution VS Managed, ajoutez un nouveau projet (appelons-le 'Make'). a. Le type de projet que vous voulez est Visual C++/NMake project.
  2. Définissez les commandes MSBuild dont vous avez besoin sur la ligne de commande (voir ci-dessous).
  3. Changez la configuration de la solution pour construire le projet NMake au lieu des projets gérés normaux.

Cela créera un projet qui a des lignes de commande Build, Rebuild, et Clean où vous pouvez exécuter MSBuild directement. Par exemple :

Reconstruire : MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Clean,Build

Construire : MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Build

Propre : MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Clean

Vous pouvez également spécifier plusieurs lignes de commande MSBuild.EXE afin de construire plusieurs projets. Pour le résultat habituel de construction de la solution complète, vous pouvez cibler seulement les assemblages finaux et laisser le graphique de dépendance générer les cibles individuelles.

Cela produira un fichier .log, où NOM est le nom du projet NMake que vous avez utilisé. Dans l'exemple ci-dessus, le journal serait make.log.

Un exemple fonctionnel est disponible sur GitHub : https://github.com/bitblitz/VS_MsbuildExample (Testé avec VS2015)

Notez que la construction de projets individuels directement se fera toujours avec le comportement normal de VS, mais vous pouvez construire la solution complète dans VS et obtenir les journaux de construction.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X