Sdílet prostřednictvím


Použití více procesorů, vytvářet projekty

Nástroj MSBuild 3.5 můžete využít výhod systémů s více procesory nebo více procesorů.Proces samostatné sestavení je vytvořen pro každý procesor k dispozici.Například pokud má systém čtyři procesory, pak čtyři sestavení procesy vytvářejí.MSBuildsoučasně může zpracovávat tyto sestavení a proto celkově snížit čas sestavení. Paralelní budovy však zavádí některé změny v jak dojít k sestavení procesů.Toto téma popisuje tyto změny.

Odkazy typu projekt na projekt

Když Microsoft Build Engine dostal odkaz projektu do projektu (P2P) v době, kdy je pomocí paralelního vytvoří pro vytvoření projektu, sestavení odkaz pouze jednou.Pokud dva projekty mají stejný odkaz P2P, odkaz není znovu sestavena pro každý projekt.Modul sestavení namísto toho vrátí stejný odkaz P2P na oba projekty, které jsou na ní závislé.Budoucí požadavky v relaci pro stejný cíl jsou k dispozici stejné referenční P2P.

Cyklu zjišťování

Cyklu zjišťování funguje stejně, jako tomu bylo MSBuild nyní 2.0, který kromě MSBuild mohou vykazovat zjišťování cyklu v jinou dobu nebo v sestavení.

Chyby a výjimky během paralelní sestavení

V paralelní sestavování, chyby a výjimky může dojít v různých časech než v sestavení nejsou rovnoběžné, a když jeden projekt se nesestaví, pokračovat v jiných sestavení projektu.MSBuildlibovolné sestavení projektu, který vytváří souběžně s ten, který selhal, nebude zastaven. Ostatní projekty nadále sestavení, dokud je úspěšné nebo selže.Nicméně pokud ContinueOnError bylo povoleno, pak žádná sestavení se zastaví i v případě, že dojde k chybě.

Visual C++ projektu (.vcproj) a soubory řešení (.sln)

Oba Visual C++ projekty (.vcproj) a soubory řešení (.sln) lze předat Úloha MSBuild.Pro Visual C++ projekty, se nazývá VCWrapperProject a pak vnitřní MSBuild je projekt vytvořen.Pro Visual C++ řešení, je vytvořena SolutionWrapperProject a pak vnitřní MSBuild je projekt vytvořen.V obou případech bude výsledný projekt zpracován stejně jako jakékoli jiné MSBuild projektu.

S spuštění

Téměř všechny činnosti týkající se sestavení vyžaduje aktuální adresář na konstantní v celém procesu sestavení, chcete-li zabránit chybám souvisejícím s cestou.Proto nelze spustit v různých vláknech v MSBuild protože by způsobilo více adresářů, které mají být vytvořeny.

Chcete-li se tomuto problému vyhnout, ale stále povolit sestavení s více procesory, MSBuild používá "izolaci procesu." Pomocí izolace procesů, MSBuild můžete vytvořit maximálně n procesy, kde n se rovná počtu procesorů, které jsou k dispozici v systému.Například pokud MSBuild sestavení řešení v systému, který má dva procesory, pak pouze dvě sestavení procesy jsou vytvořeny.Tyto procesy jsou znovu použít k vytvoření všech projektů v řešení.

Viz také

Koncepty

Paralelní sestavování více projektů současně pomocí nástroje MSBuild

Nástroj MSBuild úkoly