Partager via


Infrastructure cible MSBuild et plateforme cible

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 une plateforme cible, qui est une architecture logicielle particulière. Par exemple, vous pouvez cibler une application à exécuter sur .NET Framework 2.0 sur une plateforme 32 bits compatible avec la famille de processeurs 80x86 (« x86 »). La combinaison de l'infrastructure cible et de la plateforme cible est connue sous le nom de contexte cible .

Important

Cet article montre l’ancienne façon de spécifier une infrastructure cible. Les projets de style SDK activent différents TargetFrameworks comme netstandard. Pour plus d’informations, consultez Infrastructures cibles.

Infrastructure cible et profil

Une infrastructure cible est la version particulière du .NET Framework sur laquelle votre projet est conçu pour s’exécuter. La spécification d’une infrastructure cible est requise, car elle active les fonctionnalités du compilateur et les références d’assembly exclusives à cette version de l’infrastructure.

Actuellement, les versions suivantes du .NET Framework sont disponibles pour une utilisation, bien que certaines ne soient plus prises en charge par Microsoft, et certaines ont prévu des dates ultérieures au-delà de laquelle elles ne seront plus prises en charge. Pour obtenir les dernières informations de support, consultez .NET Framework :

  • .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 les unes des autres dans la liste des assemblys que chacun met à la disposition des références. Par exemple, vous ne pouvez pas créer d’applications Windows Presentation Foundation (WPF), sauf si votre projet cible le .NET Framework version 3.0 ou ultérieure.

L’infrastructure cible est spécifiée dans la TargetFrameworkVersion propriété dans le fichier projet. Vous pouvez modifier l’infrastructure cible d’un projet à l’aide des pages de 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 sont TargetFrameworkVersionv2.0, v3.0v4.0v3.5v4.5.2v4.6v4.6.1v4.6.2v4.7, v4.7.1, v4.7.2, et .v4.8

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

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

Remarque

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

Le profil cible est spécifié dans la TargetFrameworkProfile propriété d’un fichier projet. Vous pouvez modifier le profil cible à l’aide du contrôle target-framework dans les pages de 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 logiciels qui définit un environnement d’exécution particulier. 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 pouvoir 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 s’exécuter 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 sur un ordinateur doté d’un processeur d’ordinateur RISC avancé (ARM) qui prend en charge le jeu d’instructions A64.

Une plateforme cible est la plateforme spécifique sur laquelle votre projet est conçu pour s’exécuter. La plateforme cible est spécifiée dans la propriété de PlatformTarget build dans un fichier projet. Vous pouvez modifier la plateforme cible à l’aide des pages de propriétés du projet ou de Configuration Manager dans l’IDE.

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

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

Une configuration cible est un sous-ensemble d’une plateforme cible. Par exemple, la configuration n’inclut pas la x86Debug plupart des optimisations de code. La configuration cible est spécifiée dans la propriété de Configuration build dans un fichier projet. Vous pouvez modifier la configuration cible à l’aide des pages de propriétés du projet ou de Configuration Manager.

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