Partager via


Version cible de .NET Framework et plateforme cible MSBuild

Un projet peut être généré pour s’exécuter sur un framework cible, qui est une version particulière du .NET Framework, et sur une plateforme cible, qui est une architecture logicielle particulière. Par exemple, vous pouvez cibler une application pour qu’elle s’exécute sur .NET Framework 2.0 et sur une plateforme 32 bits compatible avec la famille de processeurs 80x86 (« x86 »). La combinaison de framework cible et de plateforme cible porte le nom de contexte cible.

Important

Cet article présente l’ancienne façon de spécifier un framework cible. Les projets de style SDK permettent l’utilisation de différents frameworks cibles, comme .NET Standard. Pour plus d’informations, consultez Frameworks cibles.

Version cible de .NET Framework et profil cible

Un framework cible est la version particulière du .NET Framework sur laquelle le projet généré doit s’exécuter. La spécification d'une version cible du .NET Framework est nécessaire, car elle active des fonctionnalités du compilateur et des références d'assemblys qui sont spécifiques à cette version du .NET Framework.

Les versions du .NET Framework actuellement disponibles sont les suivantes :

  • .NET Framework 2.0 (inclus dans Visual Studio 2005)

  • .NET Framework 3.0 (inclus dans Windows Vista)

  • .NET Framework 3.5 (inclus dans Visual Studio 2008)

  • .NET Framework 4.0

  • .NET Framework 4.5.2

  • .NET Framework 4.6 (inclus dans Visual Studio 2015)

  • .NET Framework 4.6.1

  • .NET Framework 4.6.2

  • .NET Framework 4.7

  • .NET Framework 4.7.1

  • .NET Framework 4.7.2

  • .NET Framework 4.8

Les versions du .NET Framework diffèrent l'une de l'autre quant à la liste d'assemblys que vous pouvez référencer. Par exemple, vous ne pouvez créer des applications Windows Presentation Foundation (WPF) que si votre projet cible le .NET Framework version 3.0 ou supérieure.

La version cible du .NET Framework est spécifiée dans la propriété TargetFrameworkVersion du fichier projet. Vous pouvez changer la version cible du .NET Framework pour un projet en utilisant les pages des propriétés du projet dans l'environnement de développement intégré (IDE) Visual Studio. Pour plus d’informations, consultez Guide pratique pour cibler une version du .NET Framework. Les valeurs disponibles pour TargetFrameworkVersion sont v2.0, v3.0, v4.0, v3.5, v4.5.2, v4.6, v4.6.1, v4.6.2, v4.7, v4.7.1,v4.7.2 et v4.8.

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

Un profil cible est un sous-ensemble d’un framework cible. Par exemple, le profil Client .NET Framework 4 n'inclut pas de références aux assemblys MSBuild.

Note

Les profils cibles s’appliquent uniquement aux bibliothèques de classes portables.

Le profil cible est spécifié dans la propriété TargetFrameworkProfile d'un fichier projet. Vous pouvez changer le profil cible en utilisant le contrôle de la version cible du .NET Framework dans les pages des propriétés du projet dans l'IDE.

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>

Plateforme cible

Une plateforme est une combinaison de matériel et de logiciel qui définit un environnement d’exécution spécifique. Par exemple :

  • x86 désigne un système d'exploitation Windows 32 bits qui s'exécute sur un processeur Intel 80x86 ou son équivalent.
  • x64 désigne un système d’exploitation Windows 64 bits qui s’exécute sur un processeur Intel x64 ou son équivalent.
  • anycpu désigne la sortie configurée pour s’exécuter sur n’importe quelle plateforme. Votre application s’exécute en tant que processus 64 bits dans la mesure du possible et repasse en 32 bits quand seul ce mode est disponible.
  • anycpu32bitpreferred désigne la sortie qui s’exécute sur n’importe quelle plateforme. Votre application s’exécute en mode 32 bits sur les systèmes qui prennent en charge les applications 64 bits et 32 bits.
  • Xbox désigne la plateforme Microsoft Xbox 360.
  • ARM compile votre assembly pour qu’il s’exécute sur un ordinateur doté d’un processeur ARM (Advanced RISC Machine).
  • ARM64 compile votre assembly pour qu’il s’exécute sur le CLR 64 bits d’un ordinateur doté d’un processeur ARM (Advanced RISC Machine) prenant en charge le jeu d’instructions A64.

Une plateforme cible est la plateforme particulière sur laquelle votre projet généré doit s’exécuter. La plateforme cible est spécifiée dans la propriété de build PlatformTarget d'un fichier projet. Vous pouvez changer la plateforme cible en utilisant les pages de propriétés du projet ou le Gestionnaire de configurations dans l’IDE.

<PropertyGroup>
   <PlatformTarget>x86</PlatformTarget>
</PropertyGroup>

La valeur de PlatformTarget est passée au compilateur pour déterminer la sortie à générer. Pour les projets C#, elle est mappée à l’option du compilateur C# -platform. Les options de plateforme sont expliquées plus en détail dans Options du compilateur : PlatformTarget.

Une configuration cible est un sous-ensemble d’une plateforme cible. Par exemple, la configuration x86 Debug n’inclut pas la plupart des optimisations du code. La configuration cible est spécifiée dans la propriété de build Configuration d'un fichier projet. Vous pouvez changer la configuration cible en utilisant les pages de propriétés du projet ou le Gestionnaire de configurations.

<PropertyGroup>
   <PlatformTarget>x86</PlatformTarget>
   <Configuration>Debug</Configuration>
</PropertyGroup>