Condividi tramite


Riferimenti alla riga di comando di MSBuild

Aggiornamento: novembre 2007

MSBuild.exe compila il file di soluzione o di progetto specificato con le opzioni indicate.

MSBuild.exe [Switches] [ProjectFile]

Argomenti

Argomento

Descrizione

ProjectFile

Genera 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:

  • PerformanceSummary: visualizza il tempo trascorso per attività, destinazioni e progetti.

  • NoSummary: nasconde il riepilogo di avvisi ed errori visualizzato alla fine di una generazione.

  • NoItemAndPropertyList: nasconde l'elenco di elementi e proprietà visualizzato all'inizio della compilazione di ogni progetto nel livello di dettaglio diagnostic.

/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

Disattiva 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

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 sul set di strumenti, vedere Compilazione per una versione specifica di .NET Framework.

/nodeReuse: <parametri>

Attiva o disattiva 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, disattivarlo 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 generata 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 generare 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

Vedere anche

Altre risorse

Riferimenti a MSBuild