Configurações de conjunto de ferramentas Personalizar ePadrão

MSBuild3.5 inclui dois predefinido conjuntos de ferramentas. Conjuntos de ferramentas são conjuntos de tarefas, destinos e ferramentas de linha de comando que você pode usar para construir um projeto. Você também pode criar seus próprios conjuntos de ferramentas personalizados.

ObservaçãoObservação

Recomendamos que você leia Usando o MSBuild para versões específicas de destino do estrutura translation from VPE for picture itExclMark para entender melhor o conjuntos de ferramentas, estruturas de destino e ToolsVersions antes de continuar.

Tipos de conjunto de ferramentas

Quando você define um conjunto de ferramentas personalizado, o valor do diretório que $(MSBuildToolsPath) pontos também é definida. Portanto, você pode usar $(MSBuildToolsPath) em um arquivo de projeto para importar tarefas e destinos em vez de embutir os tarefa e valores de destino no arquivo de projeto. Isso permite definir globalmente conjuntos de ferramentas no registro ou em um arquivo de configuração para que você possa criar áreas de trabalho do desenvolvedor ou em cenários de laboratório de compilação.

Usando conjuntos de ferramentas, você pode direcionar MSBuild para um destino específico versões de.NET Framework . Isso significa que você pode criar um projeto que funciona apenas com Visual Studio 2008, e você também pode criar Visual Studio 2005 projetos em Visual Studio 2008.

Visual Studio 2008inclui dois "padrão" Conjuntos de ferramentas. Um conjunto de ferramentas, que também foi incluído com o MSBuild 2.0 em Visual Studio 2005, destinos .NET Framework 2.0. O conjunto de outro ferramentas, que está incluído no MSBuild pode direcionar o 3.5, .NET Framework 2.0, .NET Framework 3.0, e .NET Framework 3.5.

Configurações padrão do conjunto de ferramentas

MSBuild3.5 inclui os seguintes conjuntos de ferramentas padrão:

ToolsVersion

MSBuildToolsPath ou MSBuildBinPath

2.0

< caminho de instalação do Windows >\Microsoft.Net\Framework\v2.0.50727\

3.5

< caminho de instalação do Windows >\Microsoft.NET\Framework\v3.5.20223\

Conjuntos de ferramentas padrão estão disponíveis em qualquer lugar no computador quando você executa o MSBuild. exe ou cria uma instância da MSBuild do mecanismo, a menos que as informações no conjunto de ferramentas são substituídas no arquivo MSBuild.exe.config ou um arquivo de configuração específica do host.

O valor de ToolsVersion, o que é especificado como um atributo na marca do projeto do arquivo de projeto, determina qual conjunto de ferramentas é usado por um Visual Studio gerado pelo projeto. Você pode pensar ToolsVersion como "nome" de um conjunto de ferramentas. Se um ToolsVersion não for especificado no projeto, ToolsVersion padrão é usado. Para MSBuild 3.5, o valor de ToolsVersion padrão está definido para 2.0. Isso significa que os projetos que criam sem um ToolsVersion explícita serão usar o conjunto de ferramentas 2.0 foi incluído no Visual Studio 2005. Visual Studio 2010projetos de geram automaticamente todos os projetos com um valor de ToolsVersion de 3,5. Porque ele usa um novo conjunto de ferramentas, ele pode direcionar todas as três .NET Framework versões.

Informações do conjunto de ferramentas padrão são definidas nas seguintes chaves do registro:

Hive do registro

Nome da chave de seqüência de caracteres

Valor de chave de seqüência

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\3.5\

DefaultToolsVersion

2.0

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\2.0\

ToolsPath

.NET Framework2.0 Caminho de instalação do

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\3.5\

ToolsPath

.NET Framework3,5 Caminho de instalação de

DefaultToolsVersion Especifica qual conjunto de ferramentas para usar quando você constrói um projeto que não especifica um conjunto de ferramentas. Por exemplo, o valor de DefaultToolsVersion para MSBuild na Visual Studio 2010 é 2.0. O valor de DefaultToolsVersion pode ser substituído em arquivos de configuração específicos de host. Outros valores de definem os caminhos de instalação para o .NET Framework versões.

ObservaçãoObservação

Recomendamos que você não altere essas configurações, a menos que você precisa. No entanto, você pode adicionar suas próprias configurações e definir as definições de conjunto de ferramentas personalizadas de todo o computador, conforme descrito na próxima seção.

Definições de conjunto de ferramentas personalizadas

Quando um conjunto de ferramentas padrão não atender aos seus requisitos de compilação, você pode criar um conjunto de ferramentas personalizado. Por exemplo, você pode ter um cenário de laboratório de compilação no qual você deve ter um sistema de criação separado para construção projetos deVisual C++ .Usando um conjunto de ferramentas personalizado, você pode atribuir valores personalizados para o atributo ToolsVersion ao criar projetos ou executar MSBuild. exe. Isso também permite que você use o $(MSBuildToolsPath) propriedade para importar arquivos. targets a partir do diretório.

Especifica o seu conjunto de ferramentas personalizado no arquivo de configuração para MSBuild. exe (ou para um host personalizado de MSBuild se você tiver uma ferramenta separada que hospeda o MSBuild engine). Por exemplo, o arquivo de configuração do MSBuild. exe poderia incluir a seguinte definição de conjunto de ferramentas:

<msbuildToolsets default="3.0">
   <toolset toolsVersion="4.0">
      <property name="MSBuildToolsPath" 
        value="C:\Windows\Microsoft .NET\Framework\v3.0" />
   </toolset>
</msbuildToolsets>

<msbuildToolsets>é um personalizado.Seção de configuração de rede também deve ser definida no arquivo de configuração, como segue:

<configSections>
   <section name="msbuildToolsets"       
       Type="Microsoft.Build.BuildEngine.ToolsetConfigurationSection, 
       Microsoft.Build.Engine, Version=3.5.0.0, Culture=neutral, 
       PublicKeyToken=b03f5f7f11d50a3a"
   </section>
</configSections>
ObservaçãoObservação

Para ser lido corretamente, o configSections marca deve ser a primeira marca sob a marca de configuração.

ToolsetConfigurationSectioné uma seção de configuração personalizada que pode ser usada por qualquer host configuração personalizada. Se você usar um conjunto de ferramentas personalizado, um host não tem fazer nada para inicializar o mecanismo de compilação, exceto que fornecem a configuração de entradas do arquivo. Definindo entradas do registro, você pode especificar os conjuntos de ferramentas de todo o computador que se aplicam ao MSBuild. exe, Visual Studioe todos os hosts de MSBuild.

ObservaçãoObservação

Se um arquivo de configuração define configurações para um ToolsVersion que já foi definido no registro, as duas definições não são mescladas. A definição no arquivo de configuração tem precedência e as configurações no registro para que ToolsVersion são ignoradas.

As propriedades a seguir são específicas para o valor de ToolsVersion é usado em projetos:

  • $(MSBuildBinPath) -MSBuildBinPath é definido como o valor de ToolsPath é especificado no registro ou o arquivo de configuração onde ToolsVersion está definida. O $(MSBuildToolsPath) configuração no arquivo de registro ou configuração especifica o local do conjunto de ferramentas. No arquivo de projeto, mapeia para a propriedade $(MSBuildBinPath) e também para a propriedade $(MSBuildToolsPath).

  • $(MSBuildToolsPath) -esta propriedade reservada é fornecida pela propriedade MSBuildToolsPath que está especificada no arquivo de configuração. (Esta propriedade substitui $(MSBuildBinPath). No entanto, $(MSBuildBinPath) transportadas para compatibilidade.)

You também pode adicionar propriedades personalizadas, ToolsVersion específicas para o arquivo de configuração usando a mesma sintaxe que você pode usar para adicionar a propriedade MSBuildToolsPath. Essas propriedades personalizadas estão disponíveis para o arquivo de projeto usando o mesmo nome como o valor especificado no arquivo de configuração.

Consulte também

Conceitos

Conceitos Avançado do MSBuild