Partilhar via


Uso de múltiplos processadores a compilação projetos

Visual Studio 2008 pode tirar proveito de sistemas que possuem vários processadores ou processadores de núcleo múltiplo. Um processo de compilação separada é criado para cada processador disponível.Por exemplo, se o sistema possuir quatro processadores, compilação de quatro processos serão criados.MSBuild pode processar esses compilações simultaneamente e, portanto, em geral time de compilação é reduzido. No entanto, construção paralela apresenta algumas alterações em como os processos de compilação ocorrem. Este tópico aborda essas alterações.

Referências de projeto no Project

Quando o Mecanismo de compilação Microsoft encontrar um projeto - para - referência de projeto (P2P) enquanto ele estiver usando s compilação paralela para compilação um projeto, ele compilação s a referência apenas uma vez. Se dois projetos tiverem a mesma referência de ponto a ponto, a referência não é recriada para cada projeto.Em vez disso, o mecanismo de compilação retorna a referência de ponto a ponto mesma em ambos os projetos que dependem dele.Solicitações futuras na sessão para o mesmo destino são fornecidas a mesma referência de ponto a ponto.

Ciclo de detecção

Ciclo de detecção funciona da mesma, sistema autônomo no MSBuild 2.0, exceto que agora MSBuild pode relatar a detecção do ciclo em um momento diferente ou na compilação.

Erros e exceções durante compilações paralelas

Em compilações paralelas, erros e exceções podem ocorrer em momentos diferentes que fazem em uma compilação sem paralelo e quando não cria um projeto, outras versões de projeto continuam.MSBuild não impedirá qualquer compilação de projeto que está criando em paralelo com aquele que falhou. Outros projetos continuam a criar até que seja bem-sucedida ou falharem. No entanto, se ContinueOnError tiver sido ativado, então não há compilações irão parar mesmo se ocorrer um erro.

O Visual C++ projeto (.vcproj) e arquivos de solução (.sln)

Ambos os Visual C++ projetos (.vcproj) e arquivos de solução (.sln) podem ser passados para o Tarefas do MSBuild. For Visual C++ projetos, VCWrapperProject é chamado e, em seguida, o internos MSBuild projeto é criado. For Visual C++ soluções, um SolutionWrapperProject é criado e, em seguida, o internos MSBuild projeto é criado. Em ambos sistema autônomo casos, o projeto resultante é tratada da mesma sistema autônomo qualquer Outros MSBuild projeto.

Execução multi-processo

Quase todas as atividades relacionadas à compilação exigem o diretório corrente para permanecem constante durante todo o processo de compilação para evitar erros de caminho.Portanto, os projetos não pode ser executado em threads diferentes em MSBuild porque eles faria com que vários diretórios a serem criados.

Para evitar esse problema, mas ainda permitir multi-processador cria, MSBuildusos "isolamento do processo". Usando o isolamento do processo, MSBuild pode criar no máximo n processos, onde n é igual ao número de processadores disponível no sistema. Por exemplo, se MSBuild desenvolve uma solução de um sistema com dois processadores, e, em seguida, compilação apenas dois processos são criados. Esses processos são reutilizados para construir todos os projetos na solução.

Consulte também

Conceitos

Tarefas do MSBuild

Outros recursos

Criando para específicos .NET Frameworks