Sebbene sia vero che VS non lo consente direttamente, è comunque possibile compilare con MSBuild "dentro" VS2015 e ottenere sia l'output della finestra di compilazione che il file di registro, come segue: (Probabilmente questo è un po 'un trucco.)
- Nella tua soluzione VS Managed, aggiungi un nuovo progetto (chiamiamolo "Make"). un. Il tipo di progetto che desideri è Visual C ++ / NMake project.
- Definisci i comandi di MSBuild di cui hai bisogno sulla riga di comando (vedi sotto).
- Modificare la configurazione della soluzione per creare il progetto NMake invece dei normali progetti gestiti.
Questo creerà un progetto con righe di comando Build, Rebuild e Clean in cui è possibile eseguire MSBuild direttamente. Per esempio:
Ricostruire: MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Clean,Build
Costruire: MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Build
Pulito: MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Clean
È inoltre possibile specificare più righe di comando MSBuild.EXE per creare più progetti. Per il consueto risultato della creazione dell'intera soluzione è possibile indirizzare solo gli assemblaggi finali finali e lasciare che il grafico delle dipendenze generi i singoli obiettivi.
Questo produrrà un file .log, dove NAME è il nome del progetto NMake che hai usato. Nell'esempio sopra, il registro sarebbe make.log.
Un esempio funzionante è disponibile su GitHub:
https://github.com/bitblitz/VS_MsbuildExample
(testato con VS2015)
Si noti che la creazione diretta di singoli progetti continuerà a essere compilata con il normale comportamento VS, ma è possibile creare la soluzione completa all'interno di VS e ottenere i log di compilazione.