Partager via


Substitution des paramètres ToolsVersion

En utilisant le commutateur /ToolsVersion (plus directement, /tv) ou la propriété $(ProjectToolsVersion), vous pouvez substituer le paramètre ToolsVersion dans le fichier projet, qui vous laisse, par exemple, générer un projet dans une solution avec une version d'Ensemble d'outils différente des autres projets. Vous pouvez également substituer le ToolsVersion de la tâche MSBuild à l'aide du paramètre de tâche ToolsVersion.

Pour plus d'informations sur ToolsVersion, consultez Utilisation de MSBuild pour cibler des versions spécifiques du .NET Framework.

Substituer les paramètres ToolsVersion de projets avec les générations de ligne de commande

Bien que les projets Visual Studio 2008 soient généralement générés avec l'attribut ToolsVersion spécifié dans le fichier projet, vous pouvez utiliser le commutateur /ToolsVersion (ou /tv) sur la ligne de commande pour remplacer cette valeur et générer tous les projets et les dépendances qui existent entre eux avec un autre ensemble d'outils. Par exemple :

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

Dans cet exemple, tous les projets sont générés à l'aide de ToolsVersion 3.5. (Toutefois, consultez la section « Ordre de priorité » présentée ultérieurement dans cette rubrique.)

Lorsque vous utilisez le commutateur /tv dans la ligne de commande, vous pouvez utiliser la propriété $(ProjectToolsVersion) dans les projets individuels pour les générer avec une valeur ToolsVersion différente des autres projets de la solution.

Substitution du paramètre ToolsVersion à l'aide du paramètre ToolsVersion de la tâche MSBuild.

La tâche MSBuild est le moyen principal d'un projet pour en générer un autre. Pour permettre à la tâche MSBuild de générer un projet avec un ToolsVersion différent de celui spécifié dans le projet, elle fournit un paramètre de tâche facultatif nommé ToolsVersion. Vous trouverez ci-dessous un exemple de son utilisation :

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

Ordre de priorité

L'ordre de priorité, du plus élevé au plus bas, utilisé pour déterminer le ToolsVersion à employer pour la génération d'un projet est :

  1. L'attribut ToolsVersion de la tâche MSBuild utilisée pour générer le projet, si.

  2. Le commutateur /tv utilisé avec msbuild.exe si. (Semblable à la tâche msbuild externe.)

  3. Le fichier projet attribut ToolsVersion.

  4. La valeur par défaut dans le fichier config.

  5. La version des outils par défaut dans le Registre.

Les nombres 1, 2 et 3 sont les mêmes que propriétés :

  • Attribut Properties de la tâche MSBuild

  • /p: allumer msbuild.exe

  • Balise de propriété du fichier projet

Si vous ne spécifiez pas de valeur pour /ToolsVersion lorsque vous écrivez la ligne de commande, les solutions Visual Studio 2005 généreront à l'aide d'une valeur ToolsVersion de "2.0" et les solutions Visual Studio 2008 généreront à l'aide d'une valeur ToolsVersion de "3.5."

Voir aussi

Autres ressources

MSBuild Concepts

Génération de versions spécifiques du .NET Framework