Riferimenti alla riga di comando di MSBuild
MSBuild.exe compila il file di soluzione o di progetto specificato con le opzioni indicate.
MSBuild.exe [Switches] [ProjectFile]
Argomenti
Argomento |
Descrizione |
---|---|
ProjectFile |
Compila le destinazioni specificate nel file di progetto. Se non viene specificato un file di progetto, MSBuild esegue la ricerca nella directory di lavoro corrente di un nome file la cui estensione termini in "proj" e utilizza tale file. Questo argomento accetta anche i file di soluzione Visual Studio 2005. |
Opzioni
Opzione |
Descrizione |
---|---|
/help |
Visualizza le informazioni relative all'uso /? o /h sono altre opzioni accettabili. Ad esempio: Msbuild.exe /? |
/nologo |
Nasconde il messaggio di avvio e di copyright. |
/version |
Visualizza solo informazioni sulla versione. /ver è un'altra opzione accettabile. |
@file |
Inserisce le impostazioni della riga di comando da un file di testo. Specificare ogni file di risposta separatamente. Per ulteriori informazioni, vedere File di risposta MSBuild. |
/noautoresponse |
Non include automaticamente il file MSBuild.rsp. /noautorsp è un'altra opzione accettabile. |
/target:targets |
Compila queste destinazioni nel progetto specifico. Utilizzare un punto e virgola o una virgola per separare più destinazioni o specificare ogni destinazione separatamente. /t è un'altra opzione accettabile. Ad esempio: /target:Resources;Compile |
/property:name=value |
Imposta o esegue l'override di queste proprietà a livello di progetto, in cui name e value sono rispettivamente il nome e il valore della proprietà. Utilizzare un punto e virgola o una virgola per separare più proprietà o specificare ogni proprietà separatamente. /p è un'altra opzione accettabile. Ad esempio: /property:WarningLevel=2;OutputDir=bin\Debug |
/logger:logger |
Specifica il logger da utilizzare per registrare gli eventi da MSBuild. Se si specificano più logger, specificarli separatamente. La sintassi del logger è la seguente: [LoggerClass,]LoggerAssembly[;LoggerParameters] La sintassi di LoggerClass è: [PartialOrFullNamespace.]LoggerClassName
Nota
Non è necessario specificare la classe logger se nell'assembly è presente un solo logger.
La sintassi di LoggerAssembly è: {AssemblyName[,StrongName] | AssemblyFile} I parametri logger sono facoltativi e vengono passati al logger esattamente come vengono digitati. Ad esempio: /logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML |
/distributedlogger: <logger centrale> * <logger di inoltro> |
Utilizzare questo logger per registrare eventi da MSBuild. Se si specificano più logger, specificarli separatamente. Forma breve /dl La sintassi di <logger> è la seguente: [<classe logger>,] <assembly logger>[;< parametri logger>] La sintassi di <classe logger> è la seguente: [<spazio dei nomi parziale o completo>.]< nome classe logger> La sintassi di <assembly logger > è la seguente: {<nome assembly>[,<nome sicuro>] | <file di assembly>} I <parametri logger> sono facoltativi e vengono passati al logger esattamente come vengono digitati. Forma breve: /l Esempi: /dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral /dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll |
/consoleloggerparameters:parameters |
Specifica i parametri da passare al logger della console. /clp è un'altra opzione accettabile. I parametri disponibili sono:
|
/verbosity:level |
Visualizza questa quantità di informazioni nel log di compilazione. I logger singoli visualizzano gli eventi sulla base del livello di dettaglio. Un logger può essere configurato anche in modo da ignorare l'impostazione del livello di dettaglio. I livelli di dettaglio disponibili sono q[uiet], m[inimal], n[ormal], d[etailed] e diag[nostic]. /v è un'altra opzione accettabile. Ad esempio: /verbosity:quiet |
/noconsolelogger |
Disabilita il logger della console predefinito e non registra gli eventi nella console. /noconlog è un'altra opzione accettabile. |
/validate:schema |
Convalida il file di progetto e, se eseguito correttamente, compila il progetto. Se schema non è specificato, convalida il progetto in base allo schema predefinito. Se schema è specificato, convalida il progetto in base allo schema specificato. |
/maxcpucount:number |
Specifica il numero dei processi di lavoro impiegati nella compilazione. Ad esempio: C:\Windows\WinFX\v3.5>msbuild.exe *.proj /maxcpucount:3. In questo esempio viene indicato a MSBuild di compilare utilizzando tre processi MSBuild.exe, consentendo così la compilazione in parallelo di tre progetti. /m è un'altra opzione accettabile. |
/ignoreprojectextensions:<estensioni> |
Elenco di estensioni da ignorare quando il file del progetto da compilare è determinato. Utilizzare un punto e virgola o una virgola per separare più estensioni. Forma breve: /ignore. Esempio: /ignoreprojectextensions:.vcproj,.sln |
/fileLogger |
Registra l'output di compilazione in un singolo file ("msbuild.log") nella directory corrente. Il percorso del file e degli altri parametri per fileLogger può essere specificato tramite l'aggiunta dell'opzione "/fileLoggerParameters". Forma breve: /fl |
/distributedFileLogger |
Registra l'output di compilazione in più file di log, uno per ogni nodo MSBuild. Il percorso iniziale per questi file è la directory corrente. Per impostazione predefinita i file sono chiamati "MSBuild<idnodo>.log". Il percorso dei file e degli altri parametri per fileLogger può essere specificato tramite l'aggiunta dell'opzione "/fileLoggerParameters". Se si imposta un nome del file di log tramite l'opzione fileLoggerParameters, il logger distribuito utilizzerà il nome file come modello e aggiungerà l'ID del nodo a questo nome per creare un file di log per ogni nodo. |
/fileloggerparameters:<parametri> |
Specifica i parametri per il logger di file e il logger di file distribuito. Forma breve: /flp È possibile utilizzare fino a dieci logger di file facendo seguire al parametro una cifra di identificazione del logger. Ad esempio, per generare file di log distinti per avvisi ed errori, utilizzare - /flp1:logfile=errors.txt;errorsonly /flp2:logfile=warnings.txt;warningsonly I parametri disponibili sono: LogFile: il percorso del file di log nel quale viene scritto il log di compilazione. Viene utilizzato dal logger di file distribuito come prefisso per i nomi dei file di log . Append: determina se il log di compilazione viene aggiunto al file di log o se lo sovrascrive. Se impostato, il log di compilazione viene aggiunto al file di log, in caso contrario, il contenuto di un file di log esistente viene sovrascritto. Per impostazione predefinita il log di compilazione non viene aggiunto al file di log. Verbosity: esegue l'override dell'impostazione del livello di dettaglio predefinito. Encoding: specifica la codifica per il file, ad esempio UTF-8. È possibile utilizzare anche i parametri del logger di console. Ad esempio: /fileLoggerParameters:LogFile=MyLog.log;Append; Verbosity=diagnostic;Encoding=UTF-8 |
/toolsversion:version |
Specifica la versione del set di strumenti da utilizzare per compilare il progetto. Questo comando consente di compilare un progetto utilizzando una versione diversa da quella specificata in Elemento Project (MSBuild). Ad esempio: C:\Windows\WinFX\v3.5>msbuild.exe *.proj /ToolsVersion:3.5 /p:Configuration=Debug I valori validi per version sono 2.0, 3.0 e 3.5. Per ulteriori informazioni sui set di strumenti, vedere Compilazione per versioni specifiche di .NET Framework. |
/nodeReuse: <parametri> |
Attiva o disabilita il riutilizzo dei nodi MSBuild. I parametri sono: True: i nodi vengono mantenuti dopo il completamento della compilazione e riutilizzati per le compilazioni successive. False: i nodi non vengono mantenuti dopo il completamento della compilazione. Forma breve: /nr. Esempio: /nr:true |
Note
Per passare i parametri al logger di console predefinito, disabilitarlo mediante /noconsolelogger, quindi specificarlo utilizzando la sintassi /logger. Utilizzare, ad esempio, la riga di comando riportata di seguito per visualizzare il riepilogo delle prestazioni che normalmente viene visualizzato solo con livello di dettaglio diagnostico.
msbuild myproject.csproj /noconsolelogger /l:ConsoleLogger,Microsoft.Build.Engine.dll;performancesummary
Esempio
Nell'esempio riportato di seguito viene compilata la destinazione rebuild del progetto MyProject.proj.
MSBuild.exe MyProject.proj /t:rebuild
È possibile utilizzare MSBuild.exe per eseguire compilazioni più complesse. È, ad esempio, possibile utilizzarlo per compilare destinazioni specifiche di progetti specifici in una soluzione. Nell'esempio riportato di seguito il progetto NotInSolutionFolder viene generato nuovamente mentre viene eliminato il progetto InSolutionFolder, ovvero la cartella della soluzione NewFolder.
msbuild SlnFolders.sln /t:NotInSolutionfolder:Rebuild;NewFolder\InSolutionFolder:Clean