Riferimenti alla riga di comando di MSBuild
Quando si usa MSBuild.exe per compilare un file di progetto o di soluzione, si possono includere varie opzioni per specificare diversi aspetti del processo.
MSBuild.exe [Switches] [ProjectFile]
Argomenti
Argomento |
Descrizione |
---|---|
ProjectFile |
Compila le destinazioni nel file di progetto specificato. Se non si specifica un file di progetto, in MSBuild viene eseguita una ricerca nella directory di lavoro corrente di un nome file la cui estensione termina in "proj" e viene usato il file in questione. È inoltre possibile specificare un file di soluzione di Visual Studio per questo argomento. |
Opzioni
Opzione |
Forma breve |
Descrizione |
---|---|---|
/help |
/? o /h |
Visualizza le informazioni sull'utilizzo. Il comando seguente è un esempio: msbuild.exe /? |
/detailedsummary |
/ds |
Mostra informazioni dettagliate alla fine del log di compilazione sulle configurazioni che sono state compilate e su come sono state pianificate nei nodi. |
/ignoreprojectextensions: extensions |
/ignore: extensions |
Ignora le estensioni specificate quando si devono individuare i file di progetto da compilare. Usare un punto e virgola o una virgola per separare più estensioni, come illustrato nel seguente esempio: /ignoreprojectextensions:.vcproj,.sln |
/maxcpucount[:number] |
/m[:number] |
Specifica il numero massimo di processi simultanei da usare durante la compilazione. Se non si include questa opzione, il valore predefinito è 1. Se si include questa opzione senza specificare un valore, in MSBuild verranno usati fino al numero massimo di processori presenti nel computer. Per altre informazioni, vedere Compilazione di più progetti in parallelo con MSBuild. Nell'esempio seguente viene indicato a MSBuild di eseguire la compilazione usando tre processi MSBuild, consentendo la compilazione contemporanea di tre progetti: msbuild myproject.proj /maxcpucount:3 |
/noautoresponse |
/noautorsp |
Non include automaticamente alcun file MSBuild.rsp. |
/nodeReuse:value |
/nr:value |
Abilita o disabilita il riutilizzo di nodi MSBuild. È possibile specificare i valori seguenti:
Un nodo corrisponde a un progetto che è in esecuzione. Se si include l'opzione /maxcpucount, più nodi possono essere eseguiti contemporaneamente. |
/nologo |
Non visualizza l'intestazione di avvio né il messaggio di copyright. |
|
/preprocess[:filepath] |
/pp[:filepath] |
Crea un singolo file di progetto aggregato effettuando l'inlining di tutti i file che vengono importati durante una compilazione, contrassegnandone i limiti. È possibile usare questa opzione per determinare più facilmente quali file vengono importati, da dove i file vengono importati e quali file contribuiscono alla compilazione. Quando si usa questa opzione, il progetto non viene compilato. Se si specifica un oggetto filepath, il file di progetto aggregato viene restituito come output al file. In caso contrario, l'output viene visualizzato nella finestra della console. Per informazioni su come usare l'elemento Import per inserire un file di progetto in un altro file di progetto, vedere Elemento Import (MSBuild) e Procedura: utilizzare la stessa destinazione in più file di progetto. |
/property:name=value |
/p:name=value |
Imposta o esegue l'override delle proprietà specificate a livello di progetto, dove name è il nome della proprietà e value è il valore della proprietà. Specificare separatamente ogni proprietà o usare un punto e virgola o una virgola per separare più proprietà, come illustrato nel seguente esempio: /property:WarningLevel=2;OutDir=bin\Debug |
/target:targets |
/t:targets |
Compila le destinazioni specificate nel progetto. Specificare separatamente ogni destinazione o usare un punto e virgola o una virgola per separare più destinazioni, come illustrato nel seguente esempio: /target:Resources;Compile Se si specificano tutte le destinazioni usando questa opzione, queste vengono eseguite al posto delle destinazioni nell'attributo DefaultTargets nel file di progetto. Per altre informazioni, vedere Ordine di compilazione delle destinazioni e Procedura: specificare quale destinazione compilare per prima. Una destinazione è un gruppo di attività. Per altre informazioni, vedere Destinazioni di MSBuild. |
/toolsversion:version |
/tv:version |
Specifica la versione del set di strumenti da usare per compilare il progetto, come illustrato nel seguente esempio: /toolsversion:3.5 Utilizzando questa opzione, è possibile compilare un progetto e specificare una versione diversa dalla versione specificata in Elemento Project (MSBuild). Per altre informazioni, vedere Override delle impostazioni ToolsVersion. Per MSBuild 4.5, si possono specificare i seguenti valori per version: 2.0, 3.5 e 4.0. Se si specifica 4.0, la proprietà di compilazione VisualStudioVersion specifica i subset di strumenti da usare. Per altre informazioni, vedere la sezione relativa ai subset di strumenti in Set di strumenti di MSBuild (ToolsVersion). Un set di strumenti è costituito da attività, destinazioni e strumenti usati per compilare un'applicazione. Gli strumenti includono compilatori come csc.exe e vbc.exe. Per altre informazioni sui set di strumenti, vedere Set di strumenti di MSBuild (ToolsVersion), Configurazioni standard e personalizzate del set di strumenti e Cenni preliminari sul multitargeting di MSBuild. Nota La versione del set di strumenti non è la stessa del framework di destinazione, vale a dire la versione di .NET Framework con cui è prevista l'esecuzione di un progetto.Per altre informazioni, vedere Framework e piattaforma di destinazione di MSBuild. |
/validate:[schema] |
/val[schema] |
Convalida il file di progetto e, se la convalida ha esito positivo, compila il progetto. Se non si specifica schema, il progetto viene convalidato in base allo schema predefinito. Se si specifica schema, il progetto viene convalidato in base allo schema specificato. L'impostazione seguente è un esempio: /validate:MyExtendedBuildSchema.xsd |
/verbosity:level |
/v:level |
Specifica la quantità di informazioni da visualizzare nel log di compilazione. Ogni logger visualizza gli eventi in base al livello di dettaglio impostato per il logger. È possibile specificare i seguenti livelli di dettaglio: q[uiet], m[inimal], n[ormal], d[etailed] e diag[nostic]. L'impostazione seguente è un esempio: /verbosity:quiet |
/version |
/ver |
Visualizza solo le informazioni sulla versione. Il progetto non viene compilato. |
@file |
Inserisce le opzioni della riga di comando da un file di testo. Se si dispone di più file, devono essere specificati separatamente. Per altre informazioni, vedere File di risposta MSBuild. |
Opzioni per logger
Opzione |
Forma breve |
Descrizione |
---|---|---|
/consoleloggerparameters: parameters |
/clp:parameters |
Passa i parametri specificati al logger di console tramite cui le informazioni sulla compilazione vengono visualizzate nella finestra della console. È possibile specificare i parametri riportati di seguito:
Usare un punto e virgola o una virgola per separare più parametri, come illustrato nell'esempio seguente: /consoleloggerparameters:PerformanceSummary;NoSummary /verbosity:minimal |
/distributedFileLogger |
/dfl |
Registra l'output di compilazione di ogni nodo MSBuild nel relativo file. Il percorso iniziale per questi file è la directory attuale. Per impostazione predefinita, i file vengono denominati "MSBuildNodeId.log". È possibile usare l'opzione /fileLoggerParameters per specificare la posizione dei file e di altri parametri per fileLogger. Se un file di log viene denominato usando l'opzione /fileLoggerParameters, nel logger distribuito questo nome verrà usato come modello e l'ID del nodo verrà aggiunto a questo nome durante la creazione di un file di log per ogni nodo. |
/distributedlogger: central logger* forwarding logger |
/dl:central logger*forwarding logger |
Registra gli eventi di MSBuild, associando un'istanza di logger diversa a ogni nodo. Per specificare più logger, specificare ciascun logger separatamente. Usare la sintassi del logger per specificare un logger. Per la sintassi del logger, vedere l'opzione /logger riportata di seguito. Negli esempi seguenti viene illustrato l'utilizzo di questa opzione: /dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral /dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll |
/fileLogger [numero] |
/fl[number] |
Registra l'output di compilazione in un singolo file nella directory corrente. Se non si specifica number, il file di output viene denominato msbuild.log. Se si specifica number, il file di output viene denominato msbuildn.log, dove n è number. Number può essere una cifra compresa tra 1 e 9. È possibile usare l'opzione /fileLoggerParameters per specificare la posizione del file e di altri parametri per fileLogger. |
/fileloggerparameters:[number] parameters |
/flp:[ number] parameters |
Specifica parametri aggiuntivi per il logger di file e il logger di file distribuito. La presenza di questa opzione implica che sia presente l'opzione /filelogger[number] corrispondente. Number può essere una cifra compresa tra 1 e 9. Si possono usare tutti i parametri elencati per /consoleloggerparameters. È inoltre possibile usare uno o più dei seguenti parametri:
Nell'esempio seguente vengono generati file di log differenti per gli avvisi e gli errori: /flp1:logfile=errors.txt;errorsonly /flp2:logfile=warnings.txt;warningsonly Negli esempi seguenti vengono illustrate altre possibilità: /fileLoggerParameters:LogFile=MyLog.log;Append; Verbosity=diagnostic;Encoding=UTF-8 /flp:Summary;Verbosity=minimal;LogFile=msbuild.sum /flp1:warningsonly;logfile=msbuild.wrn /flp2:errorsonly;logfile=msbuild.err |
/logger: logger |
/l:logger |
Specifica il logger da usare per registrare eventi da MSBuild. Per specificare più logger, specificare ciascun logger separatamente. Usare la sintassi seguente per logger: [LoggerClass,]LoggerAssembly[;LoggerParameters] Usare la sintassi seguente per LoggerClass: [PartialOrFullNamespace.]LoggerClassName Non è necessario specificare la classe logger se nell'assembly è contenuto esattamente un logger. Usare la sintassi seguente per LoggerAssembly: {AssemblyName[,StrongName] | AssemblyFile} I parametri del logger sono facoltativi e vengono passati al logger esattamente come vengono inseriti. Negli esempi seguenti viene usata l'opzione /logger. /logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral /logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML |
/noconsolelogger |
/noconlog |
Disabilita il logger della console predefinito e non registra gli eventi nella console. |
Esempio
L'esempio seguente compila la destinazione rebuild del progetto MyProject.proj.
MSBuild.exe MyProject.proj /t:rebuild
È possibile usare MSBuild.exe per eseguire compilazioni più complesse. Ad esempio, è possibile compilare destinazioni specifiche di progetti specifici in una soluzione. Nell'esempio seguente viene ricompilato il progetto NotInSolutionFolder e pulito il progetto InSolutionFolder che si trova nella cartella della soluzione NewFolder.
msbuild SlnFolders.sln /t:NotInSolutionfolder:Rebuild;NewFolder\InSolutionFolder:Clean
Vedere anche
Riferimenti
Proprietà di progetto MSBuild comuni