2012-07-17 16 views
60

Utilizzo Visual Studio Express 2012. Qual è la posizione del file di registro? Ho cercato nella cartella in cui sono archiviati la mia soluzione e i miei progetti, ma non riesco a trovare alcun file .log.Qual è il percorso predefinito per i registri MSBuild?

Questa è la configurazione per la registrazione:

enter image description here

+0

Non esiste un file .log predefinito. Guarda nella finestra di output. –

+3

@Hans, Nel mio caso, la finestra di output contiene messaggi che indicano "ulteriori informazioni sono disponibili nel registro di build". quindi c'è un registro separato da qualche parte. Non l'ho ancora trovato. –

risposta

75

file di registro da Visual Studio è supportato solo per i progetti C++. Devi solo lavorare con la finestra di output per gli altri.

Vedi questa discussione simile: VS2010: minimal build log in output and detailed log in log file

E nel caso in cui vi capita di fare questo per un progetto C++, the file is at:

... Costruire registro nella directory dei file intermedi ... Il percorso e il nome del registro di build sono rappresentati dalla macro dell'espressione MSBuild, $(IntDir)\$(MSBuildProjectName).log.

+10

Penso che sia semplicemente stupido in Visual Studio non avere una registrazione dettagliata in un file. Oh bene, una realtà che devo accettare. Grazie per la risposta, @Dmitry – hanxue

+5

@hanxue: ha un registro. Questo registro non viene semplicemente inviato a un file. Se si desidera un file di registro, eseguire msbuild dalla riga di comando. –

+13

POI PERCHÉ NON DICE COSI ':-( –

10

la documentazione MSDN è abbastanza chiaro su questo (e non è intenzione di simile!):

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

Dove dice:

Per creare un log di compilazione file per un progetto di codice gestito Sulla barra dei menu, scegliere Build, Build Solution.

Nella finestra di output, evidenziare le informazioni dalla build, quindi copiarle negli Appunti.

Aprire un editor di testo , ad esempio Blocco note, incollare le informazioni nel file e quindi salvarlo.

+7

Che cos'è tutto va bene fino a quando non si utilizza l'output diagnostico e VS decide di lanciare un'eccezione di "memoria esaurita" quando si tenta di copiare negli Appunti. È davvero una decisione fondamentalmente stupida non supportare l'invio del log di costruzione a un file nel IDE. Ma hey ho, tale è la vita. –

+0

Riempi la build in un file di testo? msbuild mysln.sln> output.txt (probabilmente dovrai aggiungere dei parametri per far compilare la tua sln, ma dovresti essere in grado di aggirarla dalla vs output window iirc al livello di verbosità corretto) –

1

Mentre è vero che VS non consente questo direttamente, è ancora possibile costruire con MSBuild VS2015 "dentro" e ottenere sia l'output finestra di generazione e il file di log, come segue: (Probabilmente si tratta di un un po 'incisivo.)

  1. Nella soluzione VS Managed, aggiungi un nuovo progetto (chiamiamolo "Crea"). a. Il tipo di progetto desiderato è il progetto Visual C++/NMake.
  2. Definire i comandi MSBuild necessari sulla riga di comando (vedere di seguito).
  3. Modificare la configurazione della soluzione per creare il progetto NMake anziché i normali progetti gestiti.

Questo creerà un progetto con le righe di comando Crea, Ricostruisci e Pulisci dove è possibile eseguire direttamente MSBuild.Per esempio:

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

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

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

È inoltre possibile specificare più righe di comando MSBuild.exe al fine di costruire più progetti. Per il consueto risultato build-the-whole-solution è possibile scegliere come target solo gli assiemi finali finali e lasciare che il grafico delle dipendenze generi i singoli target.

Questo produrrà un file .log, dove NOME è il nome del progetto NMake che hai usato. Nell'esempio sopra, il log sarebbe make.log.

un esempio di lavoro è disponibile su GitHub: https://github.com/bitblitz/VS_MsbuildExample (Testato con VS2015)

Nota che la costruzione direttamente singoli progetti sarà ancora costruire con il normale VS comportamento, ma si può costruire la soluzione completa all'interno VS e ottenere i log di costruzione.

Problemi correlati