Paralelní sestavování více projektů současně pomocí nástroje MSBuild
Nástroj MSBuild lze vytvořit spuštěním paralelně více projektů, které jsou rychlejší.Spuštění v paralelní sestavení, použijte následující nastavení vícejádrové procesory nebo více procesorů počítače:
/maxcpucount Přepínač příkazového řádku.
BuildInParallel Úloh parametrů pro MSBuild úkol.
[!POZNÁMKA]
/verbosity (/v) Přepínače příkazového řádku může také ovlivnit výkon sestavení.Výkon sestavení se může snížit, pokud podrobnost informací protokolu sestavení je nastaven na podrobné nebo diagnostiky, které se používají pro řešení potíží.Další informace naleznete v tématu Získávání protokolů o sestavení pomocí nástroje MSBuild a Referenční dokumentace pro použití nástroje MSBuild v příkazovém řádku.
Přepínač /maxcpucount
Použijete-li /maxcpucount přepnout, nebo /m pro krátké MSBuild vytvořit zadaný počet MSBuild.exe procesy, které probíhají souběžně.Tyto procesy jsou známé také jako "pracovní procesy." Každý pracovní proces používá samostatné jádro nebo zpracovatele, pokud budou k dispozici pro vytvoření projektu ve stejnou dobu jako ostatní dostupné procesory může vytváření jiných projektů.Například nastavení tohoto přepínače na hodnotu "4" dojde k vytvoření čtyř pracovních procesů pro sestavení projektu MSBuild.
Pokud zahrnete /maxcpucount přepínač bez zadání hodnoty MSBuild spotřebujete na počet procesorů v počítači.
Další informace o tento přepínač, který byl zaveden v MSBuild 3.5, viz Referenční dokumentace pro použití nástroje MSBuild v příkazovém řádku.
Následující příklad nastaví MSBuild pomocí tří pracovních procesů.Pokud používáte tuto konfiguraci, MSBuild, můžete vytvořit tři projekty ve stejnou dobu.
msbuild.exe myproj.proj /maxcpucount:3
Parametr úlohy BuildInParallel
BuildInParallelje volitelný parametr boolean na MSBuild úkolu.Při BuildInParallel je nastavena na true (výchozí hodnotu), více pracovních procesů, které jsou generovány současně možné sestavit mnoho projektů.Tento postup fungoval správně /maxcpucount musí být nastaven na hodnotu větší než 1, a musí být alespoň dvoujádrový nebo mají dva nebo více procesorů v systému.
Následuje příklad z microsoft.common.targets o tom, jak nastavit BuildInParallel parametr.
<PropertyGroup>
<BuildInParallel Condition="'$(BuildInParallel)' ==
''">true</BuildInParallel>
</PropertyGroup>
<MSBuild
Projects="@(_MSBuildProjectReferenceExistent)"
Targets="GetTargetPath"
BuildInParallel="$(BuildInParallel)"
Properties="%(_MSBuildProjectReferenceExistent.SetConfiguration);
%(_MSBuildProjectReferenceExistent.SetPlatform)"
Condition="'@(NonVCProjectReference)'!='' and
('$(BuildingSolutionFile)' == 'true' or
'$(BuildingInsideVisualStudio)' == 'true' or
'$(BuildProjectReferences)' != 'true') and
'@(_MSBuildProjectReferenceExistent)' != ''"
ContinueOnError="!$(BuildingProject)">
<Output TaskParameter="TargetOutputs"
ItemName="_ResolvedProjectReferencePaths"/>
</MSBuild>
Viz také
Koncepty
Použití více procesorů k sestavení projektů
Zápis protokolovacích nástrojů pro více procesorů