2011-03-08 104 views
102

在MSDN上,我發現在版本信息下有關於Portable Class Library的部分。什麼是可移植類庫?

查看System.Object爲例。 http://msdn.microsoft.com/en-us/library/system.object.aspx

我做了一個簡短的Google搜索,找不到關於Portable Class Library的任何信息。有沒有人知道它是什麼或在哪裏可以找到更多關於它的信息?

+1

作爲擡起頭來 - 我們在Visual Studio中增加了額外的可移植類庫的支持,下週自帶11 Beta版。 – 2012-02-25 20:06:51

回答

81

UPDATE 2017年10月9日:Article comparing/constrasting .NET Core/Std/PCL UPDATE 2016年11月23日:Article by Rick Strahl

UPDATE 2016年10月29日:.NETStandard 1->2 FAQ UPDATE 2016年10月19日:這是best interview/video I've seen to date covering .NET Standard 2.0

UPDATE 2016年9月27日:.NET Standard 2.0 announcement post有更多的好info

更新2016年6月6日:This article很好地解釋了.NETStandard庫機制如何取代PCL的大部分功能

更新2013年7月10日:極好的狀態of the PCL union summary blogpost from @shanselman有很多具體的例子,截圖和鏈接。在陰影中提出任何其他答案。

UPDATE二零一三年五月二十零日:

UPDATE 2013年4月19日:Channel 9 Visual Studio Toolbox show episode 14 June 2012

視頻:Channel 9 Going Deep Show episode 27 Sep 2011


的這一切是如何從智能感知掛在一起,通過對在 blog post by Simon Cooper


視頻運行時間出色的密集彙總

更新2012年9月11日:Good high level blog post with pictures, diagrams and motivating examples showing how MVVM Light and RX use it

更新2012年4月11日:非常好end to end piece by Scott Hanselman that gets to the point in dev speak very quickly including screenshots here(也包含非常有見地的「如何思考」信息和樣本鏈接)。最後還包括一個資源部分,這幾乎重複了這整個職位:D

更新2012年7月9日:This blog series by Mircea Trofin of the dev team (one part so far) is the most complete覆蓋尚未包括屏幕截圖和詳細的矩陣顯示可用的功能,如果你在這樣的事情。


Portable Library Tools anouncement blog post,這將啓動: -

可移植庫工具CTP增加了一個新的「便攜式類庫」項目模板到Visual Studio可以用來創建在C#和VB類庫在各種.NET平臺上運行而無需重新編譯。

它用於創建一個針對多個平臺的類庫(特別是Silverlight變種,如WP7和SL4,但在Xbox上包括XNA)。

另見本InfoQ summary article

又見this release notice

對於降濁細節,see Multi-Targeting Guidelines for Tools for Managed Code

+2

擊敗了我27秒; p – 2011-03-08 22:12:16

+2

@Marc Gravell:不經常發生,phew! - 但是,如果有任何幫助,你確實擊敗了@Darin ...... – 2011-03-08 22:13:38

+4

很多很棒的細節,但我認爲這可以從對這個完全陌生的人的簡單解釋中受益。 – Lucas 2014-05-04 14:45:40

7

這是一個類庫,可以在various platforms運行。

+0

我可以將我的便攜式.csproj發送給沒有安裝這些工具的人嗎? – 2012-01-18 21:21:57

+2

要運行可移植類庫應用程序,必須在您的機器上安裝.NET Framework 4的更新。此更新隨Visual Studio 2010 SP1自動安裝,因此您可以在用於開發應用程序的計算機上運行可移植類庫應用程序而無需進一步修改。要在另一臺計算機上運行應用程序,可以手動安裝更新。 – Jowen 2013-06-26 15:07:28

51
  • 可移植類庫項目,您可以編寫並構建在一個以上的.NET Framework平臺上工作的管理組件。您可以創建包含您希望跨許多項目共享的代碼的類,例如共享業務邏輯,然後引用來自不同類型項目的類。

  • 便攜式圖書館工具是Microsoft推出的一款新的Visual Studio插件,它使您能夠創建可在各種基於.NET平臺上運行而無需重新編譯的C#和Visual Basic庫。

MSDN現在有一個很好的article/documentation on it。您可以查看它並查看Portable Class LibraryIcon For Portable Class Library中支持的內容。


以下組件是一個可移植類庫項目中可用:

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

你可以找到其成員由在參考主題爲.NET Framework類庫可移植類庫項目的支持。在類的成員表中,受支持成員旁邊將顯示以下「便攜式類庫」圖標。

Icon for Portable Class library(圖標便攜式類庫,您將在MSDN文檔看看。)


要創建一個可移植類庫項目,你需要有:

Visual Studio 2010 Service Pack 1 (SP1)(795KB安裝人員,1.48GB ISO

Portable Library Tools CTP(1.38MB)

上面安裝更新之後,您將獲得可移植類庫新項目模板:

enter image description here

(以上內容來自MSDN拍攝)

UPDATE 2014:

類庫Portable是的Visual Studio 20的一部分14.

+0

關於最新的更新,我不認爲有一個Visual Studio 2014,但PCL似乎包含在Visual Studio 2013中。(至少我有社區版) – Jake 2015-05-18 19:41:00

0

我發現文檔有點費解,所以我試圖讓事情變得清楚這裏。

便攜式類庫是建立在讓程序員創建將運行在多種平臺,如微軟Xbox 360,Windows手機,Silverlight和.NET框架(4以上)的項目。這是通過省略一些特定的API來實現的,這些API不會被你選擇的目標平臺支持,這會導致你失去.Net Framework的一些可用功能。

所以我們可以說,在Portable class library和Normal class library之間選擇取決於您項目的目標平臺。如果您希望您的應用程序能夠在帶有Windows操作系統的Xbox和臺式計算機上工作,則最好節省您的時間並使用PCL,除此之外,普通類庫也可以。

的更多信息,請訪問documentation page

現在有一個新的開源技術,稱爲淨標準,該標準將取代PCL。 .NET標準解決了這個代碼把所有你期望和跨您所需要的環境,愛的API .NET開發人員共享問題在所有平臺:桌面應用程序,移動應用&遊戲,和雲服務:

  • .NET標準是一組所有的.NET平臺必須 實現的API。這將統一.NET平臺並防止未來的分裂。.NET Framework 2.0將由.NET Framework,.NET Core, 和Xamarin實現。對於.NET Core,這將添加許多已請求的現有API 。
  • .NET標準2.0包含一個用於.NET Framework 二進制文件的兼容性填充,顯着增加了一組庫,您可以從.NET標準庫中引用 引用。
  • .NET標準將替換可移植類庫(PCL)作爲用於構建多平臺.NET庫的 工具故事。

您可以在GitHub上的dotnet/standard倉庫中看到.NET Standard API定義。

Reference