Aracılığıyla paylaş


MSBuild ile Paralel Olarak Birden Çok Proje Derleme

Paralel olarak çalışan tarafından birden fazla proje daha hızlı oluşturmak için MSBuild kullanabilirsiniz.Yapılar paralel olarak çalıştırmak için çok çekirdekli veya birden çok işlemci bilgisayarda aşağıdaki ayarları kullanın:

  • /maxcpucount Bir komut istemine geçin.

  • BuildInParallel MSBuild görevi görev parametresi.

[!NOT]

/verbosity (/v) Bir komut satırı anahtarı da yapı başarımını etkiler.Yapı günlük bilgilerinizi ayrıntı düzeyini ayarlama ayrıntılı veya sorun giderme için kullanılan tanı ise, yapı performansı düşürebilir.Daha fazla bilgi için, bkz. MSBuild ile Yapı Günlükleri Alma ve MSBuild Komut Satırı Başvurusu.

/maxcpucount Anahtarı

Kullanırsanız, /maxcpucount geçin, ya da /m , kısaca MSBuild paralel olarak çalıştır MSBuild.exe'yi işlemler belirtilen sayıda oluşturabilirsiniz.Bu işlemlerin da "alt işlemleri" verilir Kullanılabilir diğer işlemcileri diğer projeler oluşturma gibi aynı zamanda bir proje oluşturmak, varsa her alt işlem ayrı çekirdek veya işlemci kullanır.Örneğin, "4" değeri için bu anahtarı ayarlama projeyi oluşturmak için dört alt işlemler oluşturmak MSBuild neden olur.

Dahil ederseniz /maxcpucount bir değer, MSBuild belirtmeden anahtarın kullanacağı bilgisayardaki işlemciler sayısı.

MSBuild 3.5'de kullanılmaya başlandı, bu anahtarı hakkında daha fazla bilgi için bkz: MSBuild Komut Satırı Başvurusu.

Aşağıdaki örnek, üç alt işlemler kullanmak için MSBuild bildirir.Bu yapılandırmayı kullanıyorsanız, MSBuild aynı anda üç projeleri oluşturabilirsiniz.

msbuild.exe myproj.proj /maxcpucount:3

BuildInParallel Görev Parametresi

BuildInParallelüzerinde bir isteğe bağlı Boole parametresi olan bir MSBuild görev.Zaman BuildInParallel ayarlamak true (varsayılan değer), birden çok alt işlemi aynı anda mümkün olduğunca çok projeleri oluşturmak üzere oluşturulur.Bunun çalışması /maxcpucount anahtarının ayarlanması gerekir bir değeri 1'den büyük ve sistem en az çift çekirdekli veya iki veya daha fazla işlemci sahip olmanız gerekir.

Aşağıdaki nasıl ayarlanacağı hakkında microsoft.common.targets alınan bir örnektir BuildInParallel parametre.

<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>

Ayrıca bkz.

Kavramlar

Projeleri Derlemek için Birden Çok İşlemci Kullanma

Birden Çok İşlemciye Duyarlı Günlükçüler Yazılıyor

Diğer Kaynaklar

C++ yapı paralellik blog ayarlama