Microsoft 在 .NET Framework 4 中添加了一個名為可移植類庫 (PCL) 的新功能。 利用 PCL,您可以有選擇性地面向 .NET Framework、Silverlight 和 Windows Phone 以及 Windows 應用商店和 Xbox 360 的多個版本,所有這些均可從單個 Visual Studio .NET 項目中實現。 當您選擇 PCL 項目模板時,Visual Studio 會自動確保代碼僅使用每個所選目標平臺上存在的庫。 這樣就無需使用繁重的預處理器指令和多個生成目標。 另一方面,該功能對可從庫調用哪些 API 設定了一些限制;有關 PCL 功能和用法的詳細信息,請參見“使用 .NET Framework 實現跨平臺開發” (msdn.microsoft.com/library/gg597391)。
到目前為止,.NET Framework可移植類庫的承諾由于其對Microsoft技術棧的偏向而受到種種限制。這些偏見表現在軟件許可協議上,它們從法律上限制了PCL在多種Microsoft平臺上是專有的,包括Windows Phone、Xbox 360和Windows桌面。之前,作為一個開發人員如果想通過Mono構建一個跨平臺的應用程序,讓它既能夠在基于Windows的平臺又能夠在非Microsoft平臺上運行,那么許可是不允許的。這種人為的約束限制了PCL的采用,但是Microsoft最近發布了一個新的聲明移除了這些通常會讓人感到非常沮喪的法律限制,為開發者考慮使用這些技術提供了新的理由。
微軟.NET團隊的項目經理Rich Lander在.NET團隊博客上發了一篇博客Portable Class Library (PCL) now available on all platforms :
Mono老大Miguel de Icaza 也在博客上發了一篇博客 Microsoft’s PCL Reference Assemblies,開發者將能夠在沒有安裝Visual Studio的平臺上(Mac、Linux、甚至是沒有安裝Visual Studio的Windows)創建二進制程序集。 Mono 從Mono 3.0.12 支持可移植類庫,對于.NET程序員來說是個好消息,可以看出微軟是在實實在在的支持.NET的跨平臺。
Codeplex上有個項目 Sharing Code in .NET using Portable Class Library 是PCL使用方面的代碼Sample,社區現在已經有非常的項目支持PCL。具體可以看我轉載Scott Hanselman的一篇文章 .Net 跨平臺可移植類庫正在進行。
文章列表