Le développement multiplateforme avec la bibliothèque de classes PortableCross-platform development with the Portable Class Library

Le type de projet de bibliothèque de classes portables dans Visual Studio vous permet de construire rapidement et facilement des applications multiplateformes et bibliothèques pour les plateformes Microsoft.The Portable Class Library project type in Visual Studio helps you build cross-platform apps and libraries for Microsoft platforms quickly and easily.

Important

Étant donné que les projets de bibliothèque de classes Portable ciblent uniquement un sous-ensemble très spécifique des implémentations de .NET, nous déconseillons fortement leur utilisation dans le développement de nouvelles applications.Because Portable Class Library projects target only a very specific subset of .NET implementations, we strongly discourage their use in new application development. Le remplacement recommandé est une bibliothèque .NET Standard, qui cible toutes les implémentations de .NET qui prennent en charge une version spécifique de .NET Standard.The recommended replacement is a .NET Standard library, which targets all .NET implementations that support a specific version of the .NET Standard. Pour plus d'informations, consultez .NET Standard.For more information, see .NET Standard.

Les bibliothèques de classes portables vous aident à réduire le temps et les coûts de développement et de test du code.Portable class libraries can help you reduce the time and costs of developing and testing code. Utilisez ce type de projet pour écrire et générer des assemblys .NET Framework portables et ensuite référencer ces assemblys à partir d’applications qui ciblent plusieurs plateformes telles que le .NET Framework, iOS ou Mac.Use this project type to write and build portable .NET Framework assemblies, and then reference those assemblies from apps that target multiple platforms such as the .NET Framework, iOS, or Mac.

Même après avoir créé un projet de bibliothèque de classes portables dans Visual Studio et commencé à le développer, vous pouvez modifier les plateformes cibles.Even after you create a Portable Class Library project in Visual Studio and start developing it, you can change the target platforms. Visual Studio compile votre bibliothèque avec les nouveaux assemblys, ce qui vous permet d’identifier les modifications que vous souhaitez apporter dans votre code.Visual Studio compiles your library with the new assemblies, which helps you identify the changes you need to make in your code.

Créer un projet de bibliothèque de classes PortableCreate a Portable Class Library project

Pour créer une bibliothèque de classes Portable, utilisez le modèle fourni dans Visual Studio.To create a Portable Class Library, use the template provided in Visual Studio. Créez un projet (fichier > nouveau projet), puis, dans le nouveau projet boîte de dialogue, sélectionnez votre langage de programmation (Visual c# ou Visual Basic).Create a new project (File > New Project), and in the New Project dialog box, select your programming language (Visual C# or Visual Basic). Ensuite, sélectionnez le bibliothèque de classes (Portable héritée) modèle.Then, select the Class Library (Legacy Portable) template. Entrez un nom pour votre projet et choisissez OK.Enter a name for your project and choose OK.

Le ajouter une bibliothèque de classes Portable boîte de dialogue s’affiche.The Add Portable Class Library dialog box appears. Choisissez deux ou plusieurs cibles, puis OK.Choose two or more targets, and then choose OK.

Ajouter des cibles de bibliothèques de classes portables dans Visual Studio

Modifiez les ciblesChange targets

Vous pouvez modifier les plateformes cibles d’un projet de bibliothèque de classes portable lors de sa création ou après avoir démarré le développement.You can change the target platforms of a portable class library project when you create it or after you’ve started development. Si vous souhaitez modifier les cibles après avoir créé votre projet, dans l’Explorateur de solutions, ouvrez le menu contextuel pour votre projet de bibliothèque de classes portables (pas la solution), puis choisissez propriétés .If you want to change the targets after you’ve created your project, in Solution Explorer, open the shortcut menu for your Portable Class Library project (not the solution), and then choose Properties. Dans la page de propriétés de projet, le bibliothèque onglet indique les plateformes que votre projet cible actuellement.On the project properties page, the Library tab shows the platforms that your project currently targets.

Propriétés du projet bibliothèque de classes portables dans Visual Studio

Pour ajouter ou supprimer des cibles, choisissez le modification bouton, puis sélectionnez et désactivez les cases à cocher appropriées.To add or remove targets, choose the Change button, and then select and clear the appropriate check boxes.

Quand vous modifiez les cibles, les API disponibles pour le développement de votre projet changent en conséquence.When you change the targets, the APIs that are available to you for developing your project will change to match your selection. Visual Studio indique les erreurs et les avertissements éventuellement engendrés par la modification des cibles.Visual Studio reports the errors and warnings that may occur as a result of the targets changing.

Si vous souhaitez évaluer la portabilité de vos assemblys avant d’apporter des modifications dans Visual Studio, vous pouvez utiliser la Analyseur de portabilité .NET.If you want to evaluate the portability of your assemblies before you make changes in Visual Studio, you can use the .NET Portability Analyzer.

Types et membres pris en chargeSupported types and members

Les types et les membres disponibles dans les projets de bibliothèque de classes portables dépendent de plusieurs facteurs de compatibilité :The types and members that are available in Portable Class Library projects are constrained by several compatibility factors:

  • Ils doivent être partagés entre les cibles que vous avez sélectionnées.They must be shared across the targets you selected.

  • Leur comportement doit être similaire sur ces cibles.The must behave similarly across those targets.

  • Ils ne doivent pas être candidats pour la dépréciation.They must not be candidates for deprecation.

  • Ils doivent s'avérer utiles dans un environnement portable, en particulier lorsque les membres qui les prennent en charge ne sont pas portables.They must make sense in a portable environment, especially when supporting members are not portable.

Si un membre est pris en charge dans la bibliothèque de classes portables et pour les cibles que vous avez sélectionnées, il apparaît dans votre projet dans IntelliSense.If a member is supported in the Portable Class Library and for your selected targets, it will appear in your project in IntelliSense. Toutefois, gardez à l'esprit que même si une API est prise en charge dans la bibliothèque de classes portables, ce sont les cibles que vous sélectionnez qui déterminent si vous pouvez utiliser cette API.However, remember that an API may be supported in the Portable Class Library, but whether you can use the API depends on the targets you select.

Différences d'API dans la bibliothèque de classes portablesAPI differences in the Portable Class Library

Pour rendre les assemblys de bibliothèque de classes portables compatibles sur toutes les plateformes prises en charge, certains membres ont été légèrement modifiés dans la bibliothèque de classes portables.To make Portable Class Library assemblies compatible across all supported platforms, some members have been slightly changed in the Portable Class Library.

Utiliser la bibliothèque de classes PortableUse the Portable Class Library

Après avoir créé votre projet de bibliothèque de classes portables, vous n'avez plus qu'à le référencer à partir d'autres projets.After you build your Portable Class Library project, you just reference it from other projects. Vous pouvez référencer le projet ou des assemblys spécifiques qui contiennent les classes auxquelles vous souhaitez accéder.You can reference either the project or specific assemblies that contain the classes you want to access.

Pour exécuter une application qui référence un assembly de bibliothèque de classes portables, la version requise (ou version ultérieure) des plateformes ciblées doit être installée sur votre ordinateur.To run an app that references a Portable Class Library assembly, the required version (or later) of the targeted platforms must be installed on your computer. Visual Studio contient toutes les infrastructures requises pour que vous puissiez exécuter l'application sans modification supplémentaire sur l'ordinateur que vous avez utilisé pour développer l'application.Visual Studio contains all the required frameworks, so you can run the app without further modification on the computer that you used to develop the app.

Déployer une application Windows universelleDeploy a Universal Windows app

Lorsque vous créez une application Windows universelle qui fait référence à un assembly de bibliothèque de classes Portable, tout ce dont vous avez besoin pour déployer l’application est inclus dans le package d’application et aucune étape supplémentaire n’est requis.When you create a Universal Windows app that references a Portable Class Library assembly, everything you need to deploy the app is included in the app package, and no further steps are required.

Déployer .NET Application FrameworkDeploy a .NET Framework app

Quand vous déployez une application .NET Framework qui référence un assembly de bibliothèque de classes portables, vous devez spécifier une dépendance sur la version appropriée du .NET Framework.When you deploy a .NET Framework app that references a Portable Class Library assembly, you must specify a dependency on the correct version of the .NET Framework. En spécifiant cette dépendance, vous êtes assuré que la version requise est installée avec votre application.By specifying this dependency, you ensure that the required version is installed with your app.

  • Pour créer une dépendance avec un déploiement ClickOnce : Dans l’Explorateur de solutions, choisissez le nœud de projet pour le projet que vous souhaitez publier.To create a dependency with ClickOnce deployment: In Solution Explorer, choose the project node for the project you want to publish. (Il s'agit du projet qui référence le projet de bibliothèque de classes portables.) Dans la barre de menus, choisissez projet > propriétés, puis choisissez le publier onglet. Sur le publier page, choisissez conditions préalables.(This is the project that references the Portable Class Library project.) On the menu bar, choose Project > Properties, and then choose the Publish tab. On the Publish page, choose Prerequisites. Sélectionnez la version requise du .NET Framework en tant que composant requis.Select the required .NET Framework version as a prerequisite.

  • Pour créer une dépendance avec un projet d’installation : Dans l’Explorateur de solutions, choisissez le projet d’installation.To create a dependency with a setup project: In Solution Explorer, choose the setup project. Dans la barre de menus, choisissez projet > propriétés > conditions préalables.On the menu bar, choose Project > Properties > Prerequisites. Sélectionnez la version requise du .NET Framework en tant que composant requis.Select the required .NET Framework version as a prerequisite.

Pour plus d’informations sur le déploiement d’applications .NET Framework, consultez Guide de déploiement pour les développeurs.For more information about deploying .NET Framework apps, see Deployment Guide for Developers.

Voir aussiSee also