Configurações padrão e personalizadas do Toolset
Um conjunto de ferramentas do MSBuild contém tarefas, destinos, e ferramentas que você pode usar para criar um projeto de aplicativo.MSBuild inclui um conjunto de ferramentas padrão, mas você também pode criar conjuntos de ferramentas personalizadas.Para obter informações sobre como especificar um conjunto de ferramentas, consulte MSBuild Toolset (ToolsVersion)
Configurações padrão do kit de ferramentas
MSBuild 4,5 inclui os seguintes conjuntos de ferramentas padrão:
ToolsVersion |
Caminho do kit de ferramentas (como especificado na propriedade de compilação MSBuildToolsPath ou de 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\ |
4.0 |
Caminho de instalação do Windows\Microsoft.NET\Framework\v4.0.30319\ |
O valor de ToolsVersion determina qual conjunto de ferramentas é usado por um projeto que produz o Visual Studio.Você especifica ToolsVersion como um atributo no elemento de Projeto de arquivo de projeto, mas você pode substituir esse atributo usando a opção de /toolsversion em um prompt de comando.Para obter informações sobre esse atributo, este interruptor, e outras maneiras especificar ToolsVersion, consulte Substituindo configurações ToolsVersion.
Se ToolsVersion não for especificado, as seguintes chaves definem ToolsVersion.
Seção do Registro |
Nome da chave |
Valor de cadeia de caracteres |
---|---|---|
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\3.5\ |
DefaultToolsVersion |
2.0 |
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.0\ |
DefaultToolsVersion |
2.0 |
As seguintes chaves do Registro especificam o caminho de instalação versões do .NET Framework que estão associadas com cada ToolsVersion.O caminho de instalação também especifica o local de MSBuild.exe, que define informações do kit de ferramentas.
Seção do Registro |
Nome da chave |
Valor de cadeia de caracteres |
---|---|---|
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\2.0\ |
MSBuildToolsPath |
Caminho de instalação do.NET Framework 2.0 |
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\3.5\ |
MSBuildToolsPath |
caminho de instalação do.NET Framework 3,5 |
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0\ |
MSBuildToolsPath |
caminho de instalação do.NET Framework 4 |
subelemento conjuntos de ferramentas
Se a chave de Registro na tabela anterior tem uma subchave, MSBuild usa-o para determinar o caminho do subelemento conjunto de ferramentas que contém mais ferramentas.A subchave seguir é um exemplo:
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0\11.0
A propriedade de compilação de VisualStudioVersion indica se um subelemento conjunto de ferramentas se tornou ativo.Por exemplo, um valor de VisualStudioVersion de “11,0” especifica o subelemento kit de ferramentas do .NET Framework 4,5.Para obter mais informações, consulte a seção de subpropriedades e conjuntos de ferramentas de MSBuild Toolset (ToolsVersion).
Observação |
---|
Recomendamos que você evita alterar essas configurações.Entretanto, você pode adicionar suas próprias configurações e definições personalizadas da máquina do kit de ferramentas, porque a próxima seção descreve. |
Definições personalizadas do kit de ferramentas
Quando um conjunto de ferramentas padrão não atende aos 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 em que você deve ter um sistema separado para criar projetos de Visual C++ .usando um conjunto de ferramentas personalizado, você pode atribuir valores personalizados ao atributo de ToolsVersion quando você cria projetos ou MSBuild.exe executado. Fazendo isto, você também pode usar a propriedade de $(MSBuildToolsPath) para importar arquivos .targets do diretório.
Especifique um conjunto de ferramentas personalizado no arquivo de configuração para MSBuild.exe (ou para a ferramenta personalizada que hospeda o mecanismo de MSBuild se é o que você está usando).Por exemplo, o arquivo de configuração para MSBuild.exe pode incluir a seguinte definição do kit de ferramentas.
<msbuildToolsets default="3.0">
<toolset toolsVersion="4.0">
<property name="MSBuildToolsPath"
value="C:\Windows\Microsoft .NET\Framework\v3.0" />
</toolset>
</msbuildToolsets>
<msbuildToolsets> também deve ser definido 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ção |
---|
Para a ser lido corretamente, <configSections> deve ser a primeira seção na seção de <configuration> . |
ToolsetConfigurationSection é uma seção de configuração personalizada que pode ser usado por qualquer host para a configuração personalizada.Se você usar um conjunto de ferramentas personalizado, um host não precisa fazer nada inicializar o mecanismo de compilação exceto fornece as entradas do arquivo de configuração.Definindo entradas no Registro, você pode especificar os conjuntos de ferramentas de máquina que se aplicam a MSBuild.exe, a Visual Studio, e todos os hosts de MSBuild.
Observação |
---|
Se um arquivo de configuração define as configurações para ToolsVersion que já está definido no Registro, as duas definições não são mescladas.A definição no arquivo de configuração terá precedência e as configurações do Registro para esse ToolsVersion são ignoradas. |
As seguintes propriedades são específicas para o valor de ToolsVersion que é usado em projetos:
$ (MSBuildBinPath) é definido como o valor de ToolsPath que é especificado no Registro ou no arquivo de configuração onde ToolsVersion é definido.$(MSBuildToolsPath) que define no Registro ou no arquivo de configuração especifica o local do kit de ferramentas.Em o arquivo de projeto, este mapeados para a propriedade de MSBuildBinPath $ (), e também para a propriedade de MSBuildToolsPath $ ().
$ (MSBuildToolsPath) é uma propriedade reservado que é fornecida pela propriedade de MSBuildToolsPath que é especificado no arquivo de configuração.(Essa propriedade substitui $(MSBuildBinPath).Em o entanto, $(MSBuildBinPath) é para frente a maioria de compatibilidade.)
Você também pode adicionar o personalizado, ToolsVersion- propriedades específicas para o arquivo de configuração usando a mesma sintaxe que você usa para adicionar a propriedade de MSBuildToolsPath.Para tornar essas propriedades personalizadas disponíveis para o arquivo de projeto, use o mesmo nome que o nome do valor que é especificado no arquivo de configuração.