什么是便携式类库?

时间:2011-03-08 22:09:42

标签: .net portable-class-library

在MSDN上,我在版本信息下注意到有关Portable Class Library的部分。

有关示例,请参阅System.Objecthttp://msdn.microsoft.com/en-us/library/system.object.aspx

我进行了简短的Google搜索,找不到有关Portable Class Library的任何信息。这里有没有人知道它是什么,或者我可以在哪里找到更多相关信息?

4 个答案:

答案 0 :(得分:83)

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

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

2016年9月27日更新:.NET Standard 2.0 announcement post有更多好消息

更新2016年6月6日:This article解释了.NETStandard库机制如何取代PCL的大部分

更新2013年7月10日:优秀状态of the PCL union summary blogpost from @shanselman,包含大量具体示例,屏幕截图和链接。在阴凉处放置任何其他答案。

2013年5月20日更新:

2013年4月19日更新:关于如何从智能感知到blog post by Simon Cooper

的运行时间一起挂起的非常密集的摘要

视频:Channel 9 Visual Studio Toolbox show episode 14 June 2012

视频:Channel 9 Going Deep Show episode 27 Sep 2011


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添加了一个新的“可移植类库”项目模板,可用于在各种.NET平台上运行的C#和VB中创建类库而无需重新编译。

它用于创建一个同时针对多个平台的类库(特别是Silverlight变体,如WP7和SL4,但在Xbox上包含XNA)。

另见InfoQ summary article

另见this release notice

有关详细信息,see Multi-Targeting Guidelines for Tools for Managed Code

答案 1 :(得分:52)

  
      
  • 使用可移植类库项目,您可以编写和构建可在多个.NET Framework平台上运行的托管程序集。您可以创建包含您希望在许多项目中共享的代码的类,例如共享业务逻辑,然后从不同类型的项目中引用这些类。

  •   
  • 可移植库工具是Microsoft的一个新的Visual Studio加载项,使您可以创建在各种基于.NET的平台上运行的C#和Visual Basic库,而无需重新编译。

  •   

MSDN现在有一个很好的article/documentation on it。您可以查看它,看看 Portable Class Library Icon 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文档中看到的可移植类库的图标。)


要创建可移植类库项目,您需要:

  

<强> 1 即可。 Visual Studio 2010 Service Pack 1 (SP1)(795KB安装程序,1.48GB ISO

     

<强> 2 即可。 Portable Library Tools CTP(1.38MB)

安装上述更新后,您将获得可移植类库的新项目模板:

enter image description here

(以上内容取自MSDN)

2014年更新:

Class Library Portable是Visual Studio 2014的一部分。

答案 2 :(得分:7)

这是一个可以在various platforms上运行的类库。

答案 3 :(得分:2)

我发现文档有点难以理解,所以我试着在这里做一些事情。

构建可移植类库是为了让程序员创建可在多个平台上运行的项目,如Xbox 360,Windows Phone,Silverlight和.NET Framework(4及更高版本)。这是通过省略您选择的目标平台不支持的某些特定API来完成的,这些API将导致您丢失.Net Framework的一些可用功能。

所以我们可以说,在Portable class library和普通class library之间进行选择取决于项目的目标平台。如果你想让你的应用程序在带有Windows操作系统的Xbox和台式计算机上运行,​​你最好节省你的时间并使用PCL,除了那个普通的类库就可以了。

有关详细信息,请访问documentation page

现在有一种名为.Net Standard的新的开源技术将取代PCL。 .NET Standard通过在您所需的环境中引入您期望和喜爱的所有API,解决了所有平台上.NET开发人员的代码共享问题:桌面应用程序,移动应用程序和移动应用程序。游戏和云服务:

  • .NET Standard是所有.NET平台必须使用的一组API 实行。这统一了.NET平台并阻止了未来 碎片。
  • .NET Standard 2.0将由.NET Framework,.NET Core实现, 和Xamarin。对于.NET Core,这将添加许多现有API 已被要求。
  • .NET Standard 2.0包含.NET Framework的兼容性填充程序 二进制文件,显着增加了您可以使用的库集 来自.NET标准库的参考。
  • .NET Standard将取代便携式类库(PCL) 用于构建多平台.NET库的工具故事。

您可以在GitHub上的dotnet / standard repo中看到.NET标准API定义。

Reference