Partilhar via


Substituindo configurações ToolsVersion

Usando o /ToolsVersion comutador (ou /tvde forma abreviada) ou o $(ProjectToolsVersion) propriedade, você pode substituir a configuração de ToolsVersion no arquivo de projeto, que permite a você, por exemplo, compilação um projeto em uma solução com uma versão de conjunto de ferramentas diferente dos outros projetos. Você também pode substituir ToolsVersion da tarefa MSBuild usando o ToolsVersion parâmetro da tarefa.

Para obter mais informações sobre ToolsVersion, consulte Definição do público-alvo específicos .NET Frameworks com MSBuild.

Substituir as configurações de ToolsVersion dos projetos de compilações de linha de comando

Embora Visual Studio 2008 normalmente construir projetos com ToolsVersion especificado no arquivo de projeto, você pode usar o /ToolsVersion (ou, /tv) comutador linha de comando para substituir esse valor e criar todos os projetos e seu projeto - para - dependências de projeto com um conjunto de ferramentas diferente. Por exemplo:

C:\windows\microsoft.net\framework\v3.5>msbuild.exe someproj.proj /tv:3.5 /p:Configuration=Debug

Neste exemplo, todos os projetos são criados usando ToolsVersion 3.5.(Entretanto, consulte a seção "Ordem de precedência" mais adiante neste tópico.)

Ao usar o /tv comutador linha de comando, você pode, opcionalmente, usar o $(ProjectToolsVersion) propriedade em projetos individuais para compilação-os com um valor diferente de ToolsVersion que os outros projetos na solução.

Substituir as configurações de ToolsVersion usando o parâmetro ToolsVersion da tarefa MSBuild

O MS compilação tarefa é o principal meio para um projeto para compilação outro.Para ativar o MS compilação de tarefas para compilação um projeto com um ToolsVersion diferente daquele especificado no projeto, ele fornece um parâmetro opcional tarefa chamado ToolsVersion. Veja a seguir um exemplo de uso:

<MSBuild Projects="MyProject1" 
         Targets="Build" 
         Properties="Configuration=Debug" 
         ToolsVersion="2.0">
    <Output TaskParameter="TargetOutputs" ItemName="Outputs" /> 
</MSBuild>

Ordem de precedência

A ordem de precedência, em ordem decrescente, usada para determinar ToolsVersion usado por um projeto para compilação é:

  1. O atributo ToolsVersion o MS compilação tarefas usadas para compilação projeto, se houver.

  2. The /tv comutador usada em msbuild.exe se houver. (Semelhante a tarefa msbuild externa).

  3. O atributo de ToolsVersion do arquivo de projeto.

  4. A versão de ferramentas padrão no arquivo de configuração.

  5. A versão de ferramentas padrão no registro.

Números 1, 2 e 3 são sistema autônomo mesmas propriedades:

  • Atributo de propriedades da tarefa do MSBuild

  • /p: comutador em msbuild.exe

  • Marca de propriedade no arquivo de projeto

Se você não especificar um valor de /ToolsVersion Quando você compilação na linha de comando Visual Studio 2005soluções serão compilação usando um valor de ToolsVersion "2.0" e Visual Studio 2008soluções serão compilação usando um valor de ToolsVersion da "3.5".

Consulte também

Outros recursos

Conceitos do MSBuild

Criando para específicos .NET Frameworks