Vue d’ensemble du multiciblage MSBuildMSBuild multitargeting overview

MSBuild vous permet de compiler une application pour l’exécuter sur une version du .NET Framework donnée et sur une plateforme système donnée.By using MSBuild, you can compile an application to run on any one of several versions of the .NET Framework, and on any one of several system platforms. Par exemple, vous pouvez compiler une application qui s’exécute sur le .NET Framework version 2.0 sur une plateforme 32 bits, et compiler la même application pour qu’elle s’exécute sur le .NET Framework version 4.5 sur une plateforme 64 bits.For example, you can compile an application to run on the .NET Framework 2.0 on a 32-bit platform, and compile the same application to run on the .NET Framework 4.5 on a 64-bit platform.

Important

Malgré le nom « multiciblage », un projet peut cibler uniquement un seul framework et une seule plateforme à la fois.Despite the name "multitargeting", a project can target only one framework and only one platform at a time.

Voici quelques-unes des fonctionnalités de ciblage de MSBuild :These are some of the features of MSBuild targeting:

  • Vous pouvez développer une application qui cible une version antérieure du .NET Framework (par exemple, la version 2.0, 3.5 ou 4).You can develop an application that targets an earlier version of the .NET Framework, for example, versions 2.0, 3.5, or 4.

  • Vous pouvez cibler des Frameworks autre que le .NET Framework (par exemple, Silverlight Framework).You can target a framework other than the .NET Framework, for example, the Silverlight Framework.

  • Vous pouvez cibler un profil Framework, qui est un sous-ensemble prédéfini d’une version cible de .NET Framework.You can target a framework profile, which is a predefined subset of a target framework.

  • Si un service pack pour la version actuelle du .NET Framework est publié, vous pouvez le cibler.If a service pack for the current version of the .NET Framework is released, you could target it.

  • Le ciblage MSBuild garantit qu’une application utilise uniquement les fonctionnalités qui sont disponibles dans le Framework et la plateforme ciblés.MSBuild targeting guarantees that an application uses only the functionality that is available in the targeted framework and platform.

Version cible de .NET Framework et plateforme cibleTarget framework and platform

Un Framework cible correspond à la version du .NET Framework sur laquelle le projet s’exécute, et une plateforme cible à la plateforme système sur laquelle le projet s’exécute.A target framework is the version of the .NET Framework that a project is built to run on, and a target platform is the system platform that the project is built to run on. Par exemple, vous pouvez cibler une application .NET Framework 2.0 pour qu’elle s’exécute sur une plateforme 32 bits compatible avec la famille de processeurs 802x86 (x86).For example, you might want to target a .NET Framework 2.0 application to run on a 32-bit platform that is compatible with the 802x86 processor family (x86). La combinaison de framework cible et de plateforme cible porte le nom de contexte cible.The combination of target framework and target platform is known as the target context. Pour plus d’informations, consultez Version cible de .NET Framework et plateforme cible.For more information, see Target framework and target platform.

Ensemble d'outils (ToolsVersion)Toolset (ToolsVersion)

Un ensemble d’outils regroupe les outils, tâches et cibles utilisés pour créer l’application.A Toolset collects together the tools, tasks, and targets that are used to create the application. Un ensemble d’outils comprend des compilateurs tels que csc.exe et vbc.exe, le fichier de cibles courantes (microsoft.common.targets) et le fichier de tâches courantes (microsoft.common.tasks).A Toolset includes compilers such as csc.exe and vbc.exe, the common targets file (microsoft.common.targets), and the common tasks file (microsoft.common.tasks). L’ensemble d’outils 4.5 peut être utilisé pour cibler des versions 2.0, 3.0, 3.5, 4 et 4.5 du .NET Framework.The 4.5 Toolset can be used to target .NET Framework versions 2.0, 3.0, 3.5, 4, and 4.5. Cependant, l’ensemble d’outils 2.0 ne peut être utilisé que pour cibler le .NET Framework version 2.0.However, the 2.0 Toolset can only be used to target the .NET Framework version 2.0. Pour plus d’informations, consultez Ensemble d’outils (ToolsVersion).For more information, see Toolset (ToolsVersion).

Assemblys de référenceReference assemblies

Les assemblys de référence qui sont spécifiés dans l’ensemble d’outils vous aident à concevoir et à générer une application.The reference assemblies that are specified in the Toolset help you design and build an application. Ces assemblys de référence activent non seulement une build cible particulière, mais limitent également les composants et fonctionnalités dans l’IDE Visual Studio à ceux qui sont compatibles avec la cible.These reference assemblies not only enable a particular target build, but also restrict components and features in the Visual Studio IDE to those that are compatible with the target. Pour plus d’informations, voir Résoudre des assemblys au moment du designFor more information, see Resolve assemblies at design time

Configurer les cibles et les tâchesConfigure targets and tasks

Vous pouvez configurer des cibles et des tâches MSBuild pour qu’elles s’exécutent hors processus avec MSBuild. Vous pouvez ainsi cibler des contextes très différents de celui dans lequel vous vous trouvez.You can configure MSBuild targets and tasks to run out-of-process with MSBuild so that you can target contexts that are considerably different than the one you are running on. Par exemple, vous pouvez cibler une application .NET Framework 2.0 32 bits alors que l’ordinateur de développement s’exécute sur une plateforme 64 bits avec le .NET Framework 4.5.For example, you can target a 32-bit, .NET Framework 2.0 application while the development computer is running on a 64-bit platform with .NET Framework 4.5. Pour plus d’informations, voir Configurer des cibles et des tâches.For more information, see Configure targets and tasks.

Résolution des problèmesTroubleshooting

Des erreurs peuvent se produire si vous tentez de référencer un assembly qui ne fait pas partie du contexte cible.You might encounter errors if you try to reference an assembly that is not part of the target context. Pour plus d’informations sur ces erreurs et la procédure à suivre pour y remédier, consultez Résoudre les problèmes liés aux erreurs de ciblage du .NET Framework.For more information about these errors and what to do about them, see Troubleshoot .NET Framework targeting errors.