Co to jest przenośna biblioteka klas?

109

W witrynie MSDN zauważyłem sekcję o a Portable Class Library, w sekcji Informacje o wersji.

Zobacz System.Objectna przykład. http://msdn.microsoft.com/en-us/library/system.object.aspx

Przeprowadziłem krótkie wyszukiwanie w Google i nie mogłem znaleźć nic na temat Portable Class Library. Czy ktoś tutaj wie, co to jest lub gdzie mógłbym znaleźć więcej informacji na ten temat?

mjcopple
źródło
1
Jako ostrzeżenie - dodaliśmy dodatkową obsługę przenośnej biblioteki klas w programie Visual Studio 11 Beta, która pojawi się w przyszłym tygodniu.
David Kean,

Odpowiedzi:

84

AKTUALIZACJA 9 października 2017 r .: porównanie artykułów / zestawienie .NET Core / Std / PCL AKTUALIZACJA 23 listopada 2016 r .: artykuł autorstwa Ricka Strahla

AKTUALIZACJA 29 października 2016: .NETStandard 1-> 2 Często zadawane pytania AKTUALIZACJA 19 października 2016: To najlepszy wywiad / film, jaki do tej pory widziałem, obejmujący .NET Standard 2.0

AKTUALIZACJA 27 września 2016 r .: W poście ogłoszeniowym .NET Standard 2.0 znajduje się więcej dobrych informacji

AKTUALIZACJA 6 czerwca 2016 r .: W tym artykule dobrze wyjaśniono, w jaki sposób mechanizm biblioteki .NETStandard zastępuje większość języka PCL

AKTUALIZACJA, 10 lipca 2013: Doskonały stan podsumowującego posta na blogu PCL od @shanselman z mnóstwem konkretnych przykładów, zrzutów ekranu i linków. Pozostawia w cieniu każdą inną odpowiedź.

AKTUALIZACJA 20 maja 2013:

AKTUALIZACJA, 19 kwietnia 2013 r .: Doskonałe, zwięzłe podsumowanie tego, jak to wszystko łączy się ze sobą od Intellisense do czasu działania, w poście na blogu Simona Coopera


Wideo: Channel 9 Visual Studio Toolbox show, odcinek 14 czerwca 2012

Wideo: Channel 9 Going Deep Show, odcinek 27 września 2011


AKTUALIZACJA, 11 września 2012 r .: Dobry wpis na blogu wysokiego poziomu ze zdjęciami, diagramami i motywującymi przykładami pokazującymi, jak wykorzystują go MVVM Light i RX

AKTUALIZACJA, 11 kwietnia 2012: Bardzo dobry fragment od końca do końca napisany przez Scotta Hanselmana, który bardzo szybko przechodzi do sedna w rozmowie dewelopera, w tym zrzuty ekranu (zawiera również bardzo wnikliwe informacje „jak o tym myśleć” i linki do próbek). Zawiera również sekcję zasobów na końcu, która prawie powiela cały ten post: D

AKTUALIZACJA 9 lipca 2012: Ta seria blogów autorstwa Mircei Trofin z zespołu deweloperów (jak dotąd jedna część) jest jak dotąd najbardziej kompletnym materiałem , zawierającym zrzuty ekranu i szczegółowe macierze pokazujące dostępne funkcje w wybranych przez Ciebie elementach, jeśli lubisz takie rzeczy.


Zobacz wpis na blogu z ogłoszeniem o narzędziach przenośnej biblioteki , który zaczyna się: -

Narzędzie CTP Portable Library Tools dodaje nowy szablon projektu „Portable Class Library” do programu Visual Studio, którego można używać do tworzenia bibliotek klas w językach C # i VB, które działają na różnych platformach .NET bez konieczności ponownej kompilacji.

Służy do tworzenia biblioteki klas, która jest przeznaczona dla wielu platform (szczególnie warianty Silverlight, takie jak WP7 i SL4, ale w tym XNA na Xbox) jednocześnie.

Zobacz także ten artykuł podsumowujący InfoQ

Zobacz także tę informację o wydaniu .

Aby uzyskać szczegółowe informacje, zobacz Wytyczne dotyczące kierowania na wiele sposobów dotyczące narzędzi do kodu zarządzanego

Ruben Bartelink
źródło
2
pokonaj mnie o 27 sekund; p
Marc Gravell
2
@Marc Gravell: Nie zdarza się często, uff! - ale pokonałeś @Darin, jeśli to jakakolwiek pomoc ...
Ruben Bartelink
4
Wiele wspaniałych szczegółów, ale myślę, że przydałoby się proste wyjaśnienie dla kogoś, kto jest w tym zupełnie nowy.
Lucas
@Lucas Cóż, moje próby aktualizowania go sprawiły, że stało się to wiki społeczności, więc nie krępuj się edytować wszystkiego, co Twoim zdaniem wyjaśni to w sposób, w jaki czujesz się pomocny (uważam, że artykuł w InfoQ jest dobry), pomyśleli te u góry są prawdopodobnie najbardziej
wszechstronnymi
1
Lepiej byłoby podsumować te artykuły i umieścić w tym miejscu krótki opis. Obecnie, czytane przez 40 450 osób, ze średnio 20 minutami (załóżmy) na przeglądanie linków, oznacza łącznie 561 dni zmarnowanych.
Zafar
53
  • Projekt Portable Class Library umożliwia pisanie i tworzenie zestawów zarządzanych, które działają na więcej niż jednej platformie .NET Framework. Możesz tworzyć klasy zawierające kod, który chcesz udostępnić w wielu projektach, na przykład udostępnioną logikę biznesową, a następnie odwoływać się do tych klas z różnych typów projektów.

  • Portable Library Tools to nowy dodatek Visual Studio firmy Microsoft, który umożliwia tworzenie bibliotek C # i Visual Basic działających na różnych platformach opartych na .NET bez ponownej kompilacji.

MSDN ma teraz ładny artykuł / dokumentację na ten temat . Możesz to sprawdzić i zobaczyć, co jest obsługiwane .Portable Class Library Ikona przenośnej biblioteki klas


Następujące zestawy są dostępne w ramach projektu przenośnej biblioteki klas:

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

Informacje, które elementy członkowskie są obsługiwane przez projekt Portable Class Library, można znaleźć w tematach referencyjnych dotyczących biblioteki klas .NET Framework. W tabeli elementów członkowskich dla klasy obok obsługiwanych elementów członkowskich pojawia się następująca ikona przenośnej biblioteki klas.

Ikona biblioteki klas przenośnych (Ikona przenośnej biblioteki klas, którą zobaczysz w MSDN Docs.)


Aby utworzyć projekt przenośnej biblioteki klas, musisz mieć:

1 . Dodatek Service Pack 1 (SP1) dla programu Visual Studio 2010 (795 KB Instalator, 1,48 GB ISO )

2 . Przenośne narzędzia biblioteczne CTP (1,38 MB)

Po zainstalowaniu powyższych aktualizacji otrzymasz nowy szablon projektu dla przenośnej biblioteki klas:

wprowadź opis obrazu tutaj

(Powyższa treść pochodzi z MSDN)

UPDATE 2014:

Class Library Portable jest częścią programu Visual Studio 2014.

Shekhar_Pro
źródło
Jeśli chodzi o najnowszą aktualizację, nie wydaje mi się, aby istniał Visual Studio 2014, ale PCL wydaje się być uwzględniony w Visual Studio 2013. (przynajmniej wydanie społecznościowe, które mam)
Jake
7

Jest to biblioteka klas, która może działać na różnych platformach .

Darin Dimitrov
źródło
Czy mogę wysłać mój przenośny plik .csproj do osób, które nie mają zainstalowanych tych narzędzi?
kwas lizergowy
2
Aby uruchomić aplikację Portable Class Library, na komputerze musi być zainstalowana aktualizacja dla .NET Framework 4. Ta aktualizacja jest instalowana automatycznie z dodatkiem SP1 dla programu Visual Studio 2010, dzięki czemu można uruchomić aplikację Portable Class Library bez dalszych modyfikacji na komputerze używanym do tworzenia aplikacji. Aby uruchomić aplikację na innym komputerze, możesz zainstalować aktualizację ręcznie.
Jowen
2

Wydawało mi się, że Dokumenty są trochę trudne do zrozumienia, więc starałem się to trochę wyjaśnić.

Biblioteka klas przenośnych umożliwia programistom tworzenie projektów, które będą działać na wielu platformach, takich jak Xbox 360, Windows Phone, Silverlight i .NET Framework (4 i nowsze). odbywa się to poprzez pominięcie niektórych specyficznych interfejsów API, które nie są obsługiwane przez wybrane platformy docelowe, co spowoduje utratę niektórych dostępnych funkcji .Net Framework.

Możemy więc powiedzieć, że wybór między Portable class libraryi Normal class libraryzależy od platform docelowych twojego projektu. jeśli chcesz, aby Twoja aplikacja działała na konsoli Xbox i komputerach stacjonarnych z systemem operacyjnym Windows, lepiej oszczędzaj czas i korzystaj z języka PCL, poza tym, że biblioteka klas Normal będzie działać.

aby uzyskać więcej informacji, odwiedź stronę z dokumentacją .

Teraz pojawiła się nowa technologia open source o nazwie .Net Standard, która zastąpi PCL. .NET Standard rozwiązuje problem udostępniania kodu dla programistów .NET na wszystkich platformach, udostępniając wszystkie interfejsy API, których oczekujesz i lubisz w środowiskach, których potrzebujesz: aplikacje komputerowe, aplikacje i gry mobilne oraz usługi w chmurze:

  • .NET Standard to zestaw interfejsów API, które muszą implementować wszystkie platformy .NET. To ujednolica platformy .NET i zapobiega przyszłej fragmentacji.
  • NET Standard 2.0 zostanie wdrożony przez .NET Framework, .NET Core i Xamarin. W przypadku platformy .NET Core spowoduje to dodanie wielu istniejących interfejsów API, które zostały zażądane.
  • NET Standard 2.0 zawiera podkładkę zgodności dla plików binarnych .NET Framework, znacznie zwiększając zestaw bibliotek, do których można odwoływać się z bibliotek .NET Standard.
  • .NET Standard zastąpi przenośne biblioteki klas (PCL) jako opowieść o narzędziach do tworzenia wieloplatformowych bibliotek .NET.

Definicję interfejsu API standardowego platformy .NET można zobaczyć w repozytorium dotnet / standard w witrynie GitHub.

Odniesienie

AmiNadimi
źródło