Was ist eine tragbare Klassenbibliothek?

109

Auf MSDN habe ich Portable Class Libraryunter Versionsinformationen einen Abschnitt über a bemerkt .

Siehe System.Objectfür ein Beispiel. http://msdn.microsoft.com/en-us/library/system.object.aspx

Ich habe eine kurze Google-Suche durchgeführt und konnte nichts über die finden Portable Class Library. Weiß hier jemand, was es ist oder wo ich weitere Informationen darüber finden könnte?

mjcopple
quelle
1
Als Heads-up haben wir in Visual Studio 11 Beta, das nächste Woche verfügbar ist, zusätzliche Unterstützung für die Portable Class Library hinzugefügt.
David Kean

Antworten:

84

UPDATE 9. Oktober 2017: Artikel zum Vergleichen / Einschränken von .NET Core / Std / PCL UPDATE 23. November 2016: Artikel von Rick Strahl

UPDATE 29. Oktober 2016: .NETStandard 1-> 2 FAQ UPDATE 19. Oktober 2016: Dies ist das beste Interview / Video, das ich bisher zu .NET Standard 2.0 gesehen habe

UPDATE 27. September 2016: Der Ankündigungsbeitrag zu .NET Standard 2.0 enthält weitere gute Informationen

UPDATE 6. Juni 2016: In diesem Artikel wird ausführlich erläutert, wie der .NETStandard-Bibliotheksmechanismus einen Großteil der PCL ersetzt

UPDATE 10. Juli 2013: Hervorragender Status des Blogposts der PCL-Gewerkschaftszusammenfassung von @shanselman mit vielen konkreten Beispielen, Screenshots und Links. Setzt jede andere Antwort hier in den Schatten.

UPDATE 20. Mai 2013:

UPDATE 19. April 2013: Hervorragende Zusammenfassung, wie alles von Intellisense bis zur Laufzeit in einem Blog-Beitrag von Simon Cooper zusammenhängt


Video: Channel 9 Visual Studio Toolbox zeigt Episode 14. Juni 2012

Video: Channel 9 Going Deep Show Folge 27. September 2011


UPDATE 11. September 2012: Guter Blog-Beitrag auf hoher Ebene mit Bildern, Diagrammen und motivierenden Beispielen, die zeigen, wie MVVM Light und RX ihn verwenden

UPDATE 11. April 2012: Sehr gutes End-to-End-Stück von Scott Hanselman, das sehr schnell auf den Punkt kommt, einschließlich Screenshots hier (enthält auch sehr aufschlussreiche Informationen und Links zu Beispielen). Enthält am Ende auch einen Ressourcenabschnitt, der den gesamten Beitrag ziemlich dupliziert: D.

UPDATE 9. Juli 2012: Diese Blog-Serie von Mircea Trofin vom Entwicklerteam (ein Teil bisher) ist die bisher vollständigste Berichterstattung, einschließlich Screenshots und detaillierter Matrizen, die die verfügbaren Funktionen Ihrer Auswahl zeigen, wenn Sie sich für solche Dinge interessieren.


Siehe Ankündigungs-Blogbeitrag zu Portable Library Tools , der beginnt: -

Das CTP für tragbare Bibliothekstools fügt Visual Studio eine neue Projektvorlage "Portable Class Library" hinzu, mit der Klassenbibliotheken in C # und VB erstellt werden können, die auf den verschiedenen .NET-Plattformen ausgeführt werden, ohne sie neu zu kompilieren.

Es wird zum Erstellen einer Klassenbibliothek verwendet, die gleichzeitig auf mehrere Plattformen (insbesondere Silverlight-Varianten wie WP7 und SL4, aber einschließlich XNA auf Xbox) abzielt.

Siehe auch diesen InfoQ-Zusammenfassungsartikel

Siehe auch diesen Versionshinweis .

Ausführliche und schmutzige Details finden Sie in den Richtlinien für Multi-Targeting für Tools für verwalteten Code

Ruben Bartelink
quelle
2
schlagen Sie mich um 27 Sekunden; p
Marc Gravell
2
@ Marc Gravell: Kommt nicht oft vor, Puh! - aber du hast @Darin geschlagen, wenn das Hilfe ist ...
Ruben Bartelink
4
Viele tolle Details, aber ich denke, dies könnte von einer einfachen Erklärung für jemanden profitieren, der völlig neu in diesem Bereich ist.
Lucas
@Lucas Nun, meine Versuche, es auf dem neuesten Stand zu halten, haben es zu einem Community-Wiki gemacht. Sie können es also jederzeit so bearbeiten, wie Sie es für hilfreich halten (ich fand den InfoQ-Artikel gut) sind wahrscheinlich die rundesten
Ruben Bartelink
1
Es wäre besser, diese Artikel zusammenzufassen und hier einen kurzen Überblick zu geben. Derzeit bedeutet das Lesen durch 40.450 Personen mit einer durchschnittlichen Zeit von 20 Minuten (nehmen wir an), um die Links zu durchsuchen, insgesamt 561 verschwendete Tage.
Zafar
53
  • Mit dem Projekt Portable Class Library können Sie verwaltete Assemblys schreiben und erstellen, die auf mehr als einer .NET Framework-Plattform funktionieren. Sie können Klassen erstellen, die Code enthalten, den Sie für viele Projekte freigeben möchten, z. B. gemeinsam genutzte Geschäftslogik, und dann auf diese Klassen aus verschiedenen Projekttypen verweisen.

  • Portable Library Tools ist ein neues Visual Studio-Add-In von Microsoft, mit dem Sie C # - und Visual Basic-Bibliotheken erstellen können, die auf einer Vielzahl von .NET-basierten Plattformen ohne Neukompilierung ausgeführt werden.

MSDN hat jetzt einen schönen Artikel / eine Dokumentation dazu . Sie können es überprüfen und sehen, was in unterstützt wird .Portable Class Library Symbol für tragbare Klassenbibliothek


Die folgenden Assemblys sind in einem Projekt der Portable Class Library verfügbar:

  • 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 (von Silverlight)

Welche Mitglieder vom Projekt Portable Class Library unterstützt werden, finden Sie in den Referenzthemen für die .NET Framework-Klassenbibliothek. In der Mitgliedertabelle für eine Klasse wird neben den unterstützten Mitgliedern das folgende Symbol für die tragbare Klassenbibliothek angezeigt.

Symbol für die Bibliothek für tragbare Klassen (Symbol für die Portable Class Library, das Sie in MSDN Docs sehen.)


Um ein tragbares Klassenbibliotheksprojekt zu erstellen, benötigen Sie:

1 . Visual Studio 2010 Service Pack 1 (SP1) (795 KB Installationsprogramm, 1,48 GB ISO )

2 . Portable Library Tools CTP (1,38 MB)

Nach der Installation der oben genannten Updates erhalten Sie eine neue Projektvorlage für die Portable Class Library:

Geben Sie hier die Bildbeschreibung ein

(Über dem Inhalt von MSDN entnommen)

UPDATE 2014:

Class Library Portable ist Teil von Visual Studio 2014.

Shekhar_Pro
quelle
In Bezug auf das neueste Update glaube ich nicht, dass es ein Visual Studio 2014 gibt, aber PCL scheint in Visual Studio 2013 enthalten zu sein. (Zumindest die Community-Edition, die ich habe)
Jake
7

Es ist eine Klassenbibliothek, die auf verschiedenen Plattformen ausgeführt werden kann .

Darin Dimitrov
quelle
Kann ich meine tragbare .csproj an Personen senden, auf denen diese Tools nicht installiert sind?
Lysergsäure
2
Um eine Portable Class Library-Anwendung auszuführen, muss ein Update für .NET Framework 4 auf Ihrem Computer installiert sein. Dieses Update wird automatisch mit Visual Studio 2010 SP1 installiert, sodass Sie die Anwendung Portable Class Library ohne weitere Änderungen auf dem Computer ausführen können, auf dem Sie die Anwendung entwickelt haben. Um die Anwendung auf einem anderen Computer auszuführen, können Sie das Update manuell installieren.
Jowen
2

Ich fand Dokumente etwas schwer zu verstehen, deshalb habe ich versucht, die Dinge hier ein wenig klarer zu machen.

Die Portable Class-Bibliothek ermöglicht es Programmierern, Projekte zu erstellen, die auf mehreren Plattformen wie Xbox 360, Windows Phone, Silverlight und .NET Framework (4 und höher) ausgeführt werden. Dies geschieht durch Weglassen einiger spezifischer APIs, die von den von Ihnen ausgewählten Zielplattformen nicht unterstützt werden, wodurch Sie einige verfügbare Funktionen von .Net Framework verlieren.

Wir können also sagen, dass die Wahl zwischen Portable class libraryund Normal class libraryvon den Zielplattformen Ihres Projekts abhängt. Wenn Sie möchten, dass Ihre App auf Xbox- und Desktop-Computern mit Windows-Betriebssystem funktioniert, sparen Sie besser Zeit und verwenden PCL. Andernfalls reicht die normale Klassenbibliothek aus.

Weitere Informationen finden Sie auf der Dokumentationsseite .

Jetzt gibt es eine neue Open-Source-Technologie namens .Net Standard, die PCL verdrängt. .NET Standard löst das Problem der Codefreigabe für .NET-Entwickler auf allen Plattformen, indem alle APIs, die Sie erwarten und lieben, in den von Ihnen benötigten Umgebungen bereitgestellt werden: Desktop-Anwendungen, mobile Apps und Spiele sowie Cloud-Dienste:

  • .NET Standard ist eine Reihe von APIs, die alle .NET-Plattformen implementieren müssen. Dies vereinheitlicht die .NET-Plattformen und verhindert eine zukünftige Fragmentierung.
  • .NET Standard 2.0 wird von .NET Framework, .NET Core und Xamarin implementiert. Für .NET Core werden dadurch viele der vorhandenen APIs hinzugefügt, die angefordert wurden.
  • .NET Standard 2.0 enthält einen Kompatibilitäts-Shim für .NET Framework-Binärdateien, wodurch die Anzahl der Bibliotheken, auf die Sie in Ihren .NET Standard-Bibliotheken verweisen können, erheblich erweitert wird.
  • .NET Standard wird Portable Class Libraries (PCLs) als Tooling Story für die Erstellung plattformübergreifender .NET-Bibliotheken ersetzen.

Sie können die .NET Standard API-Definition im Dotnet / Standard Repo auf GitHub sehen.

Referenz

AmiNadimi
quelle