Riferimenti alla riga di comando di MSBuild
Quando si utilizza MSBuild.exe per compilare un file di progetto o di soluzione, è possibile incorporare varie opzioni per specificare i vari aspetti del processo.
MSBuild.exe [Switches] [ProjectFile]
Argomenti
Argomento |
Descrizione |
---|---|
ProjectFile |
Compila i database di destinazione nel file di progetto specificato.Se non si specifica un file di progetto, MSBuild cerca nella cartella di lavoro corrente estensione che termina in "proj" e in utilizza i file.È inoltre possibile specificare un file di soluzione di Visual Studio per questo argomento. |
Opzioni
Opzione |
Forma breve |
Descrizione |
---|---|---|
/help |
/?o /h |
Visualizzare le informazioni di utilizzo.Il comando seguente è un esempio: msbuild.exe /? |
/detailedsummary |
/ds |
Informazioni dettagliate di visualizzazione alla fine del log di compilazione sulle configurazioni che sono state compilate e come sono stati forniti i nodi. |
/ignoreprojectextensions: extensions |
/ignore: extensions |
Ignorare le estensioni specificate quando determina file di progetto da compilare.Utilizzare 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 per utilizzare durante la compilazione.Se non si include questa opzione, il valore predefinito è 1.Se si include questa opzione senza specificare un valore, MSBuild utilizzato fino al numero di processori nel computer.Per ulteriori informazioni, vedere Compilazione di più progetti in parallelo con MSBuild. Nell'esempio indica a MSBuild compilare utilizzando tre processi di MSBuild, che consente tre progetti compilare contemporaneamente: msbuild myproject.proj /maxcpucount:3 |
/noautoresponse |
/noautorsp |
Non includere alcuni file di risposta MSBuild.rsp automaticamente. |
/nodeReuse:value |
/nr:value |
Abilita o disabilita il riutilizzo dei nodi di MSBuild.È possibile specificare i valori seguenti:
Un nodo corrisponde a un progetto che esegue.Se si include l'opzione di /maxcpucount, più nodi possono essere eseguite contemporaneamente. |
/nologo |
Non visualizza il messaggio di avvio o il messaggio di copyright. |
|
/preprocess [:filepath] |
/pp [:filepath] |
Creare un singolo, file di progetto aggregato inline tutti i file che verranno inclusi durante la compilazione, con i limiti contrassegnati.È possibile utilizzare questa opzione su più facilmente dipenderà da file vengono includendi, a partire dai cui file vengono includendi e dai file consentono alla compilazione.Quando si utilizza questa opzione, il progetto non viene compilato. Se si specifica filepath, il file di progetto aggregato viene restituito al file.In caso contrario, l'output viene visualizzato nella finestra della console. Per informazioni su come utilizzare l'elemento di 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 |
Set o esegue l'override delle proprietà specificate a livello di progetto, in cui name è il nome della proprietà e value è il valore della proprietà.Specificare separatamente ogni proprietà, o utilizzare un punto e virgola o una virgola per separare più proprietà, come illustrato nel seguente esempio: /property:WarningLevel=2;OutputDir=bin\Debug |
/target:targets |
/t:targets |
Compilare i database di destinazione specificati nel progetto.Specificare separatamente ogni database di destinazione, oppure un punto e virgola o una virgola per separare le destinazioni multipli, come illustrato nel seguente esempio: /target:Resources;Compile Se si specifica una destinazione utilizzando questa opzione, vengono eseguiti anziché tutte le destinazioni nell'attributo di DefaultTargets nel file di progetto.Per ulteriori informazioni, vedere Ordine di compilazione delle destinazioni e Procedura: specificare quale destinazione compilare per prima. Una destinazione è un gruppo di attività.Per ulteriori informazioni, vedere Destinazioni di MSBuild. |
/toolsversion:version |
/tv:version |
Specifica la versione del set di strumenti da utilizzare 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 ulteriori informazioni, vedere Override delle impostazioni ToolsVersion. Per MSBuild 4,5, è possibile specificare i valori seguenti per version: 2,0, 3,5 e 4,0.Se si specifica 4,0, la proprietà di compilazione di VisualStudioVersion specifica quali i set di strumenti da utilizzare.Per ulteriori informazioni, vedere la sezione dei set di strumenti di Set di strumenti di MSBuild (ToolsVersion). I set di strumenti sono costituite da attività di, destinazioni di e strumenti utilizzati per compilare un'applicazione.Gli strumenti include compilatori come csc.exe e vbc.exe.Per ulteriori informazioni sul set di strumenti, vedere Set di strumenti di MSBuild (ToolsVersion), Configurazioni standard e personalizzate del set di strumentie Cenni preliminari sul multitargeting di MSBuild.
Nota
La versione del set di strumenti non corrisponde al framework di destinazione, ovvero la versione di .NET Framework in cui viene compilato un progetto in.Per ulteriori informazioni, vedere Framework e piattaforma di destinazione di MSBuild.
|
/validate: []schema |
/val []schema |
Convalidare il file di progetto e, se la convalida ha esito positivo, compilare il progetto. Se non si specifica schema, il progetto viene convalidato rispetto 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 visualizzare gli eventi in base al livello di dettaglio impostato per il logger. È possibile specificare i seguenti livelli di dettaglio seguenti: q[uiet], m[inimal], n[ormal], d[etailed]e diag[nostic]. L'impostazione seguente è un esempio: /verbosity:quiet |
/version |
/ver |
Informazioni sulla versione visualizzato solo.Il progetto non viene compilato. |
@file |
Inserire le opzioni della riga di comando da un file di testo.Se si dispone di più file, vengono specificati separatamente.Per ulteriori informazioni, vedere File di risposta MSBuild. |
Opzioni per i logger
Opzione |
Forma breve |
Descrizione |
---|---|---|
/consoleloggerparameters:parameters |
/clp:parameters |
Passare i parametri specificati al logger di console, che visualizza le informazioni di compilazione nella finestra della console.È possibile specificare i seguenti parametri:
Utilizzare un punto e virgola o una virgola per separare più parametri, come illustrato nel seguente esempio: /consoleloggerparameters:PerformanceSummary;NoSummary /verbosity:minimal |
/distributedFileLogger |
/dfl |
Registrare l'output di compilazione di ogni nodo di MSBuild al proprio file.Il percorso iniziale per questi file è la directory corrente.Per impostazione predefinita, i file vengono denominati "MSBuildNodeId.log".È possibile utilizzare l'opzione di /fileLoggerParameters per specificare la posizione dei file e di altri parametri per il fileLogger. Se denominate un file di log utilizzando l'opzione di /fileLoggerParameters, il logger distribuito utilizzerà tale nome di modello e accoderà l'id del nodo a tale nome viene creato un file di log per ogni nodo. |
/distributedlogger:central logger*forwarding logger |
/dl:central logger*forwarding logger |
Eventi di log da MSBuild, la connessione un'istanza diversa del logger in ciascun nodo.Se si specificano più logger, specificarli separatamente. Utilizzare la sintassi del logger per specificare un logger.Per la sintassi del logger, vedere l'opzione di /logger di seguito. Negli esempi seguenti viene illustrato come utilizzare questa opzione: /dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral /dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll |
/fileLogger[number] |
/fl []number |
Registrare l'output di compilazione in un unico 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 da 1 a 9. È possibile utilizzare l'opzione di /fileLoggerParameters per specificare la posizione del file e di altri parametri per il fileLogger. |
/fileloggerparameters: [] numero parameters |
/flp: [] parametersnumber |
Specifica tutti i parametri aggiuntivi per il logger di file e il logger di file distribuito.La presenza di questa opzione implica che la corrispondenza/opzione difilelogger[number] sono presenti.Number può essere una cifra da 1 a 9. È possibile utilizzare tutti i parametri elencati per /consoleloggerparameters.È inoltre possibile utilizzare uno o più dei seguenti parametri:
L'esempio seguente genera file di log differenti per gli avvisi e gli errori: /flp1:logfile=errors.txt;errorsonly /flp2:logfile=warnings.txt;warningsonly Negli esempi seguenti viene illustrato 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 utilizzare per registrare gli eventi da MSBuild.Se si specificano più logger, specificarli separatamente. Utilizzare la sintassi seguente per logger: [LoggerClass,]LoggerAssembly[;LoggerParameters] Utilizzare la sintassi seguente per LoggerClass: [PartialOrFullNamespace.]LoggerClassName Non è necessario specificare la classe logger se l'assembly contiene esattamente un logger. Utilizzare la sintassi seguente per LoggerAssembly: {AssemblyName[,StrongName] |AssemblyFile} I parametri del logger sono facoltativi e passati al logger esattamente come si immettono in. Negli esempi seguenti viene utilizzato l'opzione di /logger. /logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral /logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML |
/noconsolelogger |
/noconlog |
Disabilitare il logger di console predefinito e non registrare eventi nella console. |
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 ricompila il progetto NotInSolutionFolder e pulizia del progetto InSolutionFolder, che si trova nella cartella Soluzione di NewFolder.
msbuild SlnFolders.sln /t:NotInSolutionfolder:Rebuild;NewFolder\InSolutionFolder:Clean
Vedere anche
Riferimenti
Proprietà di progetto MSBuild comuni