Bibliothèques de classes portables
Le projet Bibliothèque de classes portable vous permet d'écrire et de générer des assemblys managés qui fonctionnent sur plusieurs plateformes .NET Framework. Vous pouvez créer les classes qui contiennent le code que vous souhaitez partager entre de nombreux projets, tels que la logique métier partagée, puis référencer ces classes à partir de différents types de projets.
À l'aide du projet Bibliothèque de classes portable, vous pouvez générer des assemblys portables qui fonctionnent sans modification sur le .NET Framework, Silverlight, Windows Phone 7 ou des plateformes XNA 360. Sans le projet Bibliothèque de classes portable, vous devez cibler une plateforme unique, puis retravailler manuellement la bibliothèque de classes pour d'autres plateformes. Le projet Bibliothèque de classes portable prend en charge un sous-ensemble d'assemblys à partir de ces plateformes et fournit un modèle Visual Studio qui permet de générer des assemblys qui s'exécutent sans modification sur ces plateformes.
Composants requis
Pour créer un projet Bibliothèque de classes portable, vous devez installer ces composants dans l'ordre suivant :
Assemblys
Les assemblys suivants sont disponibles dans un projet Bibliothèque de classes portable :
mscorlib.dll
System.dll
System.Core.dll
System.Xml.dll
System.ComponentModel.Composition.dll
System.Net.dll
System.Runtime.Serialization.dll
System.ServiceModel.dll
System.Xml.Serialization.dll
System.Windows.dll (de Silverlight)
Toutefois, tous ces assemblys ne sont pas pris en charge sur toutes les plateformes. Dans un projet Bibliothèque de classes portable, vous spécifiez les plateformes que vous souhaitez cibler et seuls les assemblys pris en charge pour ces plateformes sont référencés dans votre projet. Si vous essayez de référencer un assembly qui n'est pas pris en charge pour les plateformes que vous avez ciblées, Visual Studio vous signale l'incompatibilité. Les assemblys principaux (mscorlib.dll, System.dll, System.Core.dll et System.Xml.dll) sont pris en charge sur toutes les plateformes.
Le tableau suivant indique les assemblys qui sont pris en charge sur les plateformes disponibles.
Fonctionnalité |
Assemblys |
.NET Framework 4 |
Silverlight |
Windows Phone 7 |
Xbox 360 |
---|---|---|---|---|---|
Fondamentaux |
mscorlib.dll, System.dll, System.Core.dll, System.Xml.dll |
Oui |
Oui |
Oui |
Oui |
Managed Extensibility Framework (MEF) |
System.ComponentModel.Composition.dll |
Oui |
Oui |
Non |
Non |
Bibliothèque de classes de réseau (NCL) |
System.Net.dll |
Oui |
Oui |
Oui |
Non |
Sérialisation |
System.Runtime.Serialization.dll |
Oui |
Oui |
Oui |
Non |
Windows Communication Foundation (WCF) |
System.ServiceModel.dll |
Oui |
Oui |
Oui |
Non |
Sérialisation XML |
System.Xml.Serialization.dll |
Oui |
Oui |
Oui |
Non |
Prise en charge du modèle Vue |
System.Windows.dll (de Silverlight) |
Non |
Oui |
Oui |
Non |
Les projets Bibliothèque de classes portable ciblent une combinaison de plateformes. Le tableau suivant indique les fonctionnalités prises en charge pour les combinaisons de plateforme.
Plateformes |
Prise en charge |
---|---|
Silverlight et Windows Phone 7 |
Tout sauf MEF |
.NET Framework 4 et Silverlight |
Tout sauf la prise en charge du modèle Vue |
.NET Framework 4 et Windows Phone 7 |
Tout sauf la prise en charge du modèle Vue et MEF |
.NET Framework 4, Silverlight et Windows Phone 7 |
Tout sauf la prise en charge du modèle Vue et MEF |
Xbox 360 et n'importe quelle autre plateforme |
Noyau uniquement |
Recherche des membres pris en charge dans la documentation de référence
Vous pouvez chercher les membres pris en charge par le projet Bibliothèque de classes portable dans les rubriques de référence pour .NET Framework Class Library. Dans la table des membres pour une classe, l'icône Bibliothèque de classes portable suivante s'affiche en regard des membres pris en charge.
Vous pouvez également effectuer une recherche dans la section Informations sur la version d'une rubrique de référence une remarque qui indique qu'un type ou membre est pris en charge dans le projet Bibliothèque de classes portable.
Prise en charge du motif de modèle Vue
Lorsque vous ciblez Silverlight et Windows Phone 7, vous pouvez implémenter le motif de modèle de vue dans votre solution. Les classes pour implémenter ce modèle se trouvent dans l'assembly System.Windows.dll de Silverlight. L'assembly System.Windows.dll n'est pas pris en charge lorsque vous créez un projet Bibliothèque de classes portable qui cible le .NET framework 4 ou Xbox 360.
Les classes de cet assembly incluent les éléments suivants :
System.Collections.ObjectModel.ReadOnlyObservableCollection<T>
System.Collections.Specialized.NotifyCollectionChangedAction
System.Collections.Specialized.NotifyCollectionChangedEventArgs
System.Collections.Specialized.NotifyCollectionChangedEventHandler
Le .NET Framework 4 contient également ces classes, mais elles sont implémentées dans des assemblys autres que System.Windows.dll. Pour utiliser ces classes avec un projet Bibliothèque de classes portable, vous devez référencer System.Windows.dll et non les assemblys répertoriés dans la documentation du .NET Framework 4.
Création d'un projet Bibliothèque de classes portable
Pour créer un projet Bibliothèque de classes portable, vous créez un projet dans Visual Studio 2010 et sélectionnez le modèle Bibliothèque de classes portable sous Visual C# ou Visual Basic. Si vous ne voyez pas le modèle, assurez-vous que vous avez installé Portable Library Tools.
Sélection des plateformes à cibler
Par défaut, le projet Bibliothèque de classes portable cible les plateformes suivantes :
.NET Framework 4
Silverlight 4
Silverlight pour Windows Phone 7
Le projet référence seulement les assemblys pris en charge par ces plateformes. Pour sélectionner les plateformes à cibler, dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet Bibliothèque de classes portable, puis sélectionnez Propriétés.
La page de propriétés du projet spécifie les plateformes ciblées actuellement.
Pour ajouter ou supprimer des plateformes cibles, cliquez sur Modifier.
Lorsque vous modifiez les plateformes cibles, les assemblys référencés dans le projet changent pour correspondre à l'ensemble des assemblys pris en charge pour votre sélection. Si votre projet référence des assemblys qui ne sont pas pris en charge par une des plateformes sélectionnées, vous devez supprimer la référence à l'assembly ou modifier les plateformes cibles. Dans l'Explorateur de solutions, les assemblys qui ne sont pas pris en charge sont signalés par un point d'exclamation (!). L'illustration suivante montre un avertissement pour les assemblys qui ne sont pas pris en charge lorsque la plateforme Xbox 360 est ajoutée aux plateformes ciblées.
À l'aide de Bibliothèque de classes portable
Après avoir généré votre projet Bibliothèque de classes portable, ajoutez simplement une référence à celui-ci à partir des autres projets qui dépendent du projet Bibliothèque de classes portable. Vous pouvez référencer le projet ou des assemblys spécifiques qui contiennent les classes auxquelles vous souhaitez accéder.
Création d'une dépendance
Pour exécuter une application Bibliothèque de classes portable, une mise à jour pour le .NET Framework 4 doit être installée sur votre ordinateur. Cette mise à jour est installée automatiquement avec le Visual Studio 2010 SP1, de sorte que vous pouvez exécuter l'application Bibliothèque de classes portable sans modification supplémentaire sur l'ordinateur que vous avez utilisé pour développer l'application. Pour exécuter l'application sur un autre ordinateur, vous pouvez installer la mise à jour manuellement.
Lorsque vous déployez une application de .NET Framework 4 qui référence un assembly Bibliothèque de classes portable, vous devez spécifier une dépendance sur la mise à jour de 4 .NET Framework. En spécifiant cette dépendance, vous êtes assuré que la mise à jour est installée avec votre application.
Pour créer une dépendance avec un déploiement ClickOnce : dans l'Explorateur de solutions, cliquez sur le nœud du projet pour le projet que vous souhaitez publier. (Il s'agit du projet qui référence le projet Bibliothèque de classes portable.) Dans le menu Projet, cliquez sur Propriétés, puis sur l'onglet Publier. Dans la page Publier, cliquez sur le bouton Composants requis. Sélectionnez la mise à jour de .NET Framework 4 comme composant requis.
Pour créer une dépendance avec un projet d'installation : dans l'Explorateur de solutions, cliquez sur le projet d'installation. Dans le menu Projet, cliquez sur Propriétés, puis sur l'onglet Composants requis. Sélectionnez la mise à jour de .NET Framework 4 comme composant requis.
Pour plus d'informations sur le déploiement des application du .NET Framework, consultez Guide de déploiement du .NET Framework pour les développeurs.
Déploiement avec Silverlight
Lorsque vous déployez un assembly Bibliothèque de classes portable avec une application Silverlight, vous devez vous assurer que la version minimale du runtime obligatoire pour l'application est définie à la version 4.0.60129.0 ou ultérieure. Vous définissez la valeur du paramètre minRuntimeVersion en incluant <param name="minRuntimeVersion" value="4.0.60129.0" /> dans la page Web qui héberge l'application Silverlight.
<div id="silverlightControlHost">
<object data="data:application/x-silverlight-2,"
type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/SilverlightApplication.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="4.0.60129.0" />
<param name="autoUpgrade" value="true" />
<a href="https://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0"
style="text-decoration:none">
<img src=https://go.microsoft.com/fwlink/?LinkId=161376
alt="Get Microsoft Silverlight" style="border-style:none"/>
</a>
</object>
<iframe id="_sl_historyFrame"
style="visibility:hidden;height:0px;width:0px;border:0px">
</iframe>
</div>
Différences d'API dans le Bibliothèque de classes portable
Pour rendre des assemblys Bibliothèque de classes portable compatibles entre toutes les plateformes prises en charge, certains membres ont été légèrement modifiés dans le Bibliothèque de classes portable. Pour plus d'informations sur les membres modifiés et comment ils l'ont été, consultez Differences API dans la bibliothèque de classes portable.
Voir aussi
Autres ressources
Differences API dans la bibliothèque de classes portable
Historique des modifications
Date |
Historique |
Motif |
---|---|---|
Mai 2011 |
Des informations sur la prise en charge du motif de modèle de vue et la création des dépendances ont été ajoutées. |
Améliorations apportées aux informations. |
Mars 2011 |
Ajout d'une rubrique. |
Améliorations apportées aux informations. |