Compartilhar via


Padrão e configurações de conjunto de ferramentas personalizada

MSBuild 3.5 inclui dois predefinidos Conjuntos de ferramentas.Conjuntos de ferramentas são conjuntos de tarefas, destinos e ferramentas de linha de comando que você pode usar para compilação um projeto.Você também pode criar seus próprios conjuntos de ferramentas personalizados.

Observação:

Nós Recomendamos que você ler Definição do público-alvo específicos .NET Frameworks com MSBuild para melhor compreenda os 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 da pasta que $(MSBuildToolsPath) aponta para também é definida. Portanto, você pode usar $(MSBuildToolsPath) em um arquivo de projeto para importar tarefas e destinos em vez de embutir os valores de tarefa e de destino no arquivo de projeto. Isso permite que você defina globalmente conjuntos de ferramentas no registro ou em um arquivo de configuração para que você pode construir em áreas de trabalho do desenvolvedor ou em cenários de laboratório de compilação.

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

Visual Studio 2008inclui dois conjuntos de ferramentas "padrão". Um conjunto de ferramentas, que também foi incluído no MSBuild 2.0 no Visual Studio 2005, destinos .NET Framework 2,0. O conjunto de Outros ferramentas, que está incluído no MSBuild 3,5, pode direcionar .NET Framework 2,0, .NET Framework 3.0, e .NET Framework 3.5.

Configurações de conjunto de ferramentas padrão

MSBuild 3.5 inclui os seguintes conjuntos de ferramentas padrão:

ToolsVersion

MSBuildToolsPath ou MSBuildBinPath

2.0

Caminho de instalação do Windows > \Microsoft.Net\estrutura\v2.0.50727\

3.5

Caminho de instalação do Windows > \Microsoft.NET\estrutura\v3.5.20223\

Conjuntos de ferramentas padrão estão disponível em qualquer lugar no computador quando você executa o MSBuild.exe ou criar uma instância do MSBuild 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, que é especificado sistema autônomo um atributo na marca de projeto do arquivo de projeto, determina quais Toolset é usado por um Visual Studio projeto gerado. Você pode considerar ToolsVersion sistema autônomo "nome" de um conjunto de ferramentas. Se não for especificado um ToolsVersion no projeto, ToolsVersion padrão será usado.For MSBuild 3.5, o valor de ToolsVersion padrão está definido como 2.0. Isso significa que os projetos que compilação sem um ToolsVersion explícita usará o conjunto de ferramentas 2.0 foi incluído Visual Studio 2005. Visual Studio 2008 projetos de geram automaticamente todos os projetos com um valor de ToolsVersion do 3.5. Porque ele usa este conjunto de ferramentas novo, 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 de caracteres

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ MSBuild\3.5\

DefaultToolsVersion

2.0

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

ToolsPath

.NET Framework 2.0 Instalar caminho

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

ToolsPath

.NET Framework 3,5 Instalar caminho

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

Observação:

Nós Recomendamos que você não alterar essas configurações a menos que você deve .No entanto, Você pode Adicionar suas próprias configurações e defina computador -largura personalizada T definições de oolset sistema autônomo descrito na próxima seção .

Definições de conjunto de ferramentas personalizada

Quando um conjunto de ferramentas padrão não preenche os 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 na qual você deve ter um sistema de compilação separada para a construção Visual C++ Projects.By 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 daquele diretório. (Como alternativa, você também pode usar variáveis de ambiente se não estiver interessado na definição de um conjunto de ferramentas separado.)

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

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

<msbuildToolsets> é uma seção de configuração .NET personalizada que também deve ser definida no arquivo de configuração, da seguinte maneira:

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

Para ser ler corretamente, o configSections marca deve ser a primeira marca da 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 precisa fazer nada para inicializar o mecanismo de compilação exceto fornecem o arquivo de configuração entradas.Definindo entradas do registro, você pode especificar os conjuntos de ferramentas de todo o computador que se aplicam a MSBuild.exe, Visual Studioe todos os hosts de MSBuild.

Observação:

Se um arquivo de configuração define configurações para um ToolsVersion que já era 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 a 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 ToolsPath especificado no registro ou o arquivo de configuração onde a ToolsVersion está definido.The $(MSBuildToolsPath) configuração no arquivo do registro ou configuração especifica o local do conjunto de ferramentas. No arquivo de projeto, isso mapeia para a propriedade $(MSBuildBinPath) e também para a propriedade $(MSBuildToolsPath).

  • $(MSBuildToolsPath) - Esta propriedade reservada é fornecido pela propriedade MSBuildToolsPath especificado no arquivo de configuração.(Esta propriedade substitui $(MSBuildBinPath). No entanto, $(MSBuildBinPath) é transportada para fins de compatibilidade.)

Y ou também pode adicionar propriedades personalizadas, específicas ToolsVersion ao arquivo de configuração usando a mesma sintaxe que você use para adicionar a propriedade MSBuildToolsPath.Essas propriedades personalizadas estão disponível para o arquivo de projeto usando o mesmo nome sistema autônomo o valor especificado no arquivo de configuração.

Consulte também

Conceitos

MSBuild conceitos avançados