Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per compilare più progetti più velocemente, è possibile usare MSBuild per eseguire compilazioni in parallelo. A tale scopo, usare le impostazioni seguenti in computer multicore o più processori:
Impostare l'opzione
-maxcpucountquando si esegue MSBuild alla riga di comando.Impostare il parametro dell'attività su BuildInParallel per l'attività
trueMSBuild.
Annotazioni
Le prestazioni della compilazione potrebbero diminuire se si usa l'opzione -verbosity (-v) per impostare le informazioni dettagliate o diagnostiche del log di compilazione. Questa opzione viene spesso usata per la risoluzione dei problemi. Per ulteriori informazioni, consultare Ottenere i log di compilazione con MSBuild e Riferimento alla riga di comando di MSBuild.
-maxcpucount OPZIONE MSBuild
Se si usa l'opzione -maxcpucount (-m), MSBuild crea il numero specificato di processiMSBuild.exe che possono essere eseguiti in parallelo. Questi processi sono noti anche come processi di lavoro. Ogni processo di lavoro utilizza un core o un processore separato, se disponibile, per compilare un progetto mentre altri processori disponibili possono compilare contemporaneamente altri progetti.
Ad esempio, l'impostazione di questa opzione su un valore di 4 fa sì che MSBuild crei quattro processi di lavoro per compilare il progetto.
Se si include l'opzione -maxcpucount senza specificare un valore, MSBuild usa fino al numero di processori nel computer.
Per ulteriori informazioni su questo switch, vedere il riferimento della riga di comando di MSBuild.
L'esempio seguente indica a MSBuild di usare tre processi di lavoro. Con questa configurazione, MSBuild può compilare tre progetti contemporaneamente.
msbuild.exe myproj.proj -maxcpucount:3
Parametro dell'attività BuildInParallel MSBuild
BuildInParallel è un parametro booleano facoltativo che è possibile impostare nell'attività MSBuild. Quando si imposta BuildInParallel su true (valore predefinito), vengono generati più processi paralleli per compilare il maggior numero possibile di progetti simultaneamente. Per il corretto funzionamento di questo parametro, impostare l'opzione -maxcpucount su un valore maggiore di uno.
Quando si usa MSBuild per la compilazione in parallelo, funziona solo per una singola chiamata dell'attività MSBuild. Pertanto, se si richiama l'invio in batch di attività, il parallelismo è limitato a ogni batch. Per altre informazioni, vedere Batch di MSBuild.
Negli esempi seguenti viene illustrato come compilare una destinazione in un file di progetto con più valori di proprietà diversi in parallelo usando il BuildInParallel parametro .
In questo esempio, il file di progetto do_it.proj ha una destinazione che stampa un messaggio diverso per ciascun SourceValue.
<Project>
<Target Name="DoIt">
<Message Text="For this invocation SourceValue='$(SourceValue)'" Importance="High" />
</Target>
</Project>
Il progetto seguente crea un obiettivo specificato DoIt in un progetto denominato do_it.proj in parallelo, utilizzando l'elenco di elementi e i metadati AdditionalProperties per specificare diversi valori della proprietà SourceValue.
<Project>
<ItemGroup>
<_Project Include="do_it.proj" AdditionalProperties="SourceValue=Test1" />
<_Project Include="do_it.proj" AdditionalProperties="SourceValue=Test2" />
<_Project Include="do_it.proj" AdditionalProperties="SourceValue=Test3" />
<_Project Include="do_it.proj" AdditionalProperties="SourceValue=Test4" />
</ItemGroup>
<Target Name="Build">
<MSBuild Projects="@(_Project)" Targets="DoIt" BuildInParallel="true" />
</Target>
</Project>