Qu'est-ce qu'une bibliothèque de classes portable?

109

Sur MSDN, j'ai remarqué une section sur un Portable Class Library, sous Informations sur la version.

Voir System.Objectpour un exemple. http://msdn.microsoft.com/en-us/library/system.object.aspx

J'ai fait une brève recherche sur Google et je n'ai rien trouvé sur le Portable Class Library. Quelqu'un ici sait-il ce que c'est ou où je pourrais trouver plus d'informations à ce sujet?

mjcopple
la source
1
En guise d'information, nous avons ajouté une prise en charge supplémentaire de la bibliothèque de classes portable dans Visual Studio 11 Beta qui arrivera la semaine prochaine.
David Kean

Réponses:

84

MISE À JOUR 9 octobre 2017: Article comparant / comparant .NET Core / Std / PCL MISE À JOUR 23 novembre 2016: Article de Rick Strahl

MISE À JOUR 29 octobre 2016: .NETStandard 1-> 2 FAQ MISE À JOUR 19 octobre 2016: C'est la meilleure interview / vidéo que j'ai vue à ce jour couvrant .NET Standard 2.0

MISE À JOUR 27 septembre 2016: le message d'annonce .NET Standard 2.0 contient plus de bonnes informations

MISE À JOUR 6 juin 2016: Cet article explique bien comment le mécanisme de bibliothèque .NETStandard remplace une grande partie de PCL

MISE À JOUR 10 juillet 2013: Excellent état du blog de synthèse du syndicat PCL de @shanselman avec de nombreux exemples concrets, captures d'écran et liens. Met toute autre réponse ici à l'ombre.

MISE À JOUR 20 mai 2013:

MISE À JOUR 19 avril 2013: Excellent résumé dense de la façon dont tout s'enchaîne d'Intellisense à l'exécution dans un article de blog de Simon Cooper


Vidéo: épisode de l'émission Channel 9 Visual Studio Toolbox le 14 juin 2012

Vidéo: Channel 9 Going Deep Show épisode 27 septembre 2011


MISE À JOUR 11 septembre 2012: Bon article de blog de haut niveau avec des images, des diagrammes et des exemples motivants montrant comment MVVM Light et RX l'utilisent

MISE À JOUR 11 avril 2012: Très bonne pièce de bout en bout de Scott Hanselman qui va au point de parler des développeurs très rapidement, y compris des captures d'écran ici (contient également des informations très perspicaces sur «comment y penser» et des liens vers des échantillons). Comprend également une section de ressources à la fin qui duplique à peu près tout cet article: D

MISE À JOUR 9 juillet 2012: Cette série de blogs par Mircea Trofin de l'équipe de développement (une partie jusqu'à présent) est la couverture la plus complète à ce jour, y compris des captures d'écran et des matrices détaillées montrant les fonctionnalités disponibles dans vos sélections si vous aimez ce genre de choses.


Voir le billet de blog d'annonce des outils de bibliothèque portables , qui commence: -

Le CTP des outils de bibliothèque portable ajoute un nouveau modèle de projet «Bibliothèque de classes portable» à Visual Studio qui peut être utilisé pour créer des bibliothèques de classes en C # et VB qui s'exécutent sur les différentes plates-formes .NET sans recompilation.

Il est utilisé pour créer une bibliothèque de classes qui cible plusieurs plates-formes (en particulier les variantes Silverlight telles que WP7 et SL4, mais y compris XNA sur Xbox) à la fois.

Voir aussi cet article de synthèse InfoQ

Voir également cet avis de version .

Pour plus de détails, consultez Consignes de multi-ciblage pour les outils de code géré

Ruben Bartelink
la source
2
me battre de 27 secondes; p
Marc Gravell
2
@Marc Gravell: Cela n'arrive pas souvent, ouf! - mais vous avez battu @Darin si cela vous aide ...
Ruben Bartelink
4
Beaucoup de détails, mais je pense que cela pourrait bénéficier d'une explication simple pour quelqu'un qui est complètement nouveau dans ce domaine.
Lucas
@Lucas Eh bien, mes tentatives pour le maintenir à jour en ont fait un wiki communautaire, alors n'hésitez pas à modifier tout ce qui vous semble l'expliquer de la manière dont vous vous sentez utile (j'ai trouvé l'article d'InfoQ bon), ont pensé ceux en haut sont probablement les plus
Ruben Bartelink
1
Il vaudrait mieux résumer ces articles et mettre un bref ici. Actuellement, lu par 40 450 personnes, avec une moyenne de 20 minutes (supposons) pour parcourir les liens, signifie 561 jours perdus au total.
Zafar
53
  • Le projet Bibliothèque de classes portable vous permet d'écrire et de créer des assemblys gérés qui fonctionnent sur plusieurs plates-formes .NET Framework. Vous pouvez créer des classes qui contiennent du code que vous souhaitez partager dans de nombreux projets, comme la logique métier partagée, puis référencer ces classes à partir de différents types de projets.

  • Portable Library Tools est un nouveau complément Visual Studio de Microsoft qui vous permet de créer des bibliothèques C # et Visual Basic qui s'exécutent sur diverses plates-formes .NET sans recompilation.

MSDN a maintenant un bel article / documentation dessus . Vous pouvez le vérifier et voir ce qui est pris en charge dans .Portable Class Library Icône pour la bibliothèque de classes portable


Les assemblys suivants sont disponibles dans un projet de 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)

Vous pouvez trouver les membres pris en charge par le projet de bibliothèque de classes portable dans les rubriques de référence de la bibliothèque de classes .NET Framework. Dans le tableau des membres d'une classe, l'icône Bibliothèque de classes portable suivante apparaît en regard des membres pris en charge.

Icône de la bibliothèque de classes portables (Icône de la bibliothèque de classes portable que vous verrez dans MSDN Docs.)


Pour créer un projet de bibliothèque de classes portable, vous devez disposer:

1 . Visual Studio 2010 Service Pack 1 (SP1) (programme d'installation de 795 Ko, ISO de 1,48 Go )

2 . Outils de bibliothèque portables CTP (1,38 Mo)

Après l'installation des mises à jour ci-dessus, vous obtiendrez un nouveau modèle de projet pour la bibliothèque de classes portable:

entrez la description de l'image ici

(Contenu ci-dessus extrait de MSDN)

MISE À JOUR 2014:

Class Library Portable fait partie de Visual Studio 2014.

Shekhar_Pro
la source
En ce qui concerne la dernière mise à jour, je ne pense pas qu'il existe un Visual Studio 2014, mais PCL semble être inclus dans Visual Studio 2013. (Au moins l'édition communautaire que j'ai)
Jake
7

C'est une bibliothèque de classes qui peut fonctionner sur différentes plates-formes .

Darin Dimitrov
la source
Puis-je envoyer mon .csproj portable à des personnes qui n'ont pas installé ces outils?
acide lysergique
2
Pour exécuter une application de bibliothèque de classes portable, une mise à jour pour .NET Framework 4 doit être installée sur votre ordinateur. Cette mise à jour est automatiquement installée avec Visual Studio 2010 SP1, vous pouvez donc exécuter l'application Bibliothèque de classes portable sans autre modification 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.
Jowen
2

J'ai trouvé les documents un peu difficiles à comprendre, alors j'ai essayé de clarifier les choses ici.

La bibliothèque de classes portable est conçue pour permettre aux programmeurs de créer des projets qui s'exécuteront sur plusieurs plates-formes telles que Xbox 360, Windows Phone, Silverlight et .NET Framework (4 et plus). cela se fait en omettant certaines API spécifiques qui ne sont pas prises en charge par les plates-formes cibles que vous avez choisies, ce qui vous fera perdre certaines fonctionnalités disponibles de .Net Framework.

Nous pouvons donc dire que le choix entre Portable class libraryet Normal class librarydépend des plates-formes cibles de votre projet. si vous voulez que votre application fonctionne sur Xbox et ordinateurs de bureau avec le système d'exploitation Windows, vous feriez mieux d'économiser votre temps et d'utiliser PCL, à part cette bibliothèque de classe normale fera l'affaire.

pour plus d'informations, visitez la page de documentation .

Il existe désormais une nouvelle technologie open source appelée .Net Standard qui remplacera PCL. .NET Standard résout le problème de partage de code pour les développeurs .NET sur toutes les plates-formes en apportant toutes les API que vous attendez et aimez dans les environnements dont vous avez besoin: applications de bureau, applications et jeux mobiles et services cloud:

  • .NET Standard est un ensemble d'API que toutes les plates-formes .NET doivent implémenter. Cela unifie les plates-formes .NET et empêche la future fragmentation.
  • .NET Standard 2.0 sera implémenté par .NET Framework, .NET Core et Xamarin. Pour .NET Core, cela ajoutera de nombreuses API existantes qui ont été demandées.
  • .NET Standard 2.0 inclut un shim de compatibilité pour les binaires .NET Framework, ce qui augmente considérablement le jeu de bibliothèques que vous pouvez référencer à partir de vos bibliothèques .NET Standard.
  • .NET Standard remplacera les bibliothèques de classes portables (PCL) en tant qu'outillage pour la création de bibliothèques .NET multiplateformes.

Vous pouvez voir la définition de l'API .NET Standard dans le référentiel dotnet / standard sur GitHub.

Référence

AmiNadimi
la source