[VS2010] .NET Framework 4.0 Client Profile

[VS2010] .NET Framework 4.0 Client Profile

.NET Framework 自從 2002 年發展至今,已經歷了好幾個版本,1.0, 1.1, 2.0, 3.0, 3.5 等不同的版本更替,.NET Framework 的可轉散布檔也愈來愈大,到了 .NET Framework 3.5 SP1 時已經膨脹到 231MB,除非軟體本身就很大,不然對於 .NET 軟體的轉散布是相當不利的,除非用戶端本身就有安裝 .NET Framework,否則幾乎都要夾帶一個 .NET Framework 的轉散布檔案,如果只是一個小小的應用程式檔 (幾十或幾百KB) 還要夾一個那麼大的 .NET Framework 轉散布檔,大概很多開發人員都會覺得麻煩,就算開發人員接受,但在企業網路的 IT 管理人員就不一定會接受了 … 所以 .NET Framework 的瘦身一直都是 .NET 開發人員的願望與期待,而 .NET Framework Client Profile 就是微軟針對這個需要的主要回應。既然 .NET 應用程式不一定會用到所有的 .NET Class Library,那麼微軟就將 .NET Framework 部份不常用的功能由主函式庫中抽離出來,讓轉散布檔可以縮小,有利於轉散布應用程式。

.NET Framework Client Profile 在 .NET 3.5 時首次和開發人員見面,但是礙於它只能利用 ClickOnce 部署方式安裝,因此使用它的開發人員不多,且也有許多人反應希望將 .NET Framework Client Profile 能夠利用光碟或其他儲存媒體轉散布,微軟從善如流,將 .NET Framework 4.0 的 Client Profile 改成轉散布檔案。

The .NET Framework 4 Client Profile 包含下列功能:

  • Common Language Runtime (CLR)

  • ClickOnce

  • Windows Forms

  • Windows Presentation Foundation (WPF)

  • Windows Communication Foundation (WCF)

  • Entity Framework

  • Windows Workflow Foundation

  • 語音

  • XSLT 支援

  • LINQ to SQL

  • Entity Framework 與 WCF Data Services 執行期設計函式庫。

  • Managed Extensibility Framework (MEF)

  • 動態型別。

  • 並列程式設計功能,例如 Task Parallel Library (TPL), Parallel LINQ (PLINQ), and Coordination Data Structures (CDS)

  • 除錯用戶端應用程式。

下列功能不包含,要另外安裝 .NET Framework 4.0 的完整版本:

  • ASP.NET

  • 進階 Windows Communication Foundation (WCF) 功能

  • .NET Framework Data Provider for Oracle

  • 編譯用 MSBuild

Visual Studio 2010 的專案中,下列應用程式會預設使用 .NET Framework 4.0 Client Profile,若要使用完整的 .NET Framework 功能,則要自行到專案屬性中設定 target framework 至 .NET Framework 4.0:

Windows Projects (C# and Visual Basic)
  • Windows Presentation Foundation

    • WPF Application

    • WPF Browser Application

    • WPF Custom Control Library

    • WPF User Control Library

  • Windows Forms

    • Windows Forms Application

    • Windows Forms Control Library

  • Console Application

  • Empty Project

  • Window Service

Visual F#
  • F# Application

  • F# Tutorial

Workflow (C# and Visual Basic)
  • Activity Designer Library

  • Activity Library

  • Workflow Console Application

Windows Communication Foundation
  • WCF Service Library

Office 2007 and Office 2010
  • All projects target the .NET Framework 4 Client Profile

 

image

 

而 .NET Framework 4.0 Client Profile 與原有的 .NET Framework 3.5 Client Profile 不同的地方有:

1. 3.5 版本的 Client Profile 只能使用在 Web (ClickOnce),4.0 版本則因為具有轉散布檔,所以可同時適用於本機或 Web 安裝。
2. 3.5 版本只支援 x86 的 Windows XP SP2/SP3,4.0 版本則支援除了 IA64 以外,.NET Framework 4 支援的所有平台。
3. 3.5 版本的 Client Profile 與 .NET Framework 3.5 是分開的版本,4.0 版則為 .NET Framework 4.0 完整功能的子集。
4. 3.5 版本會受 Windows Update 的影響自動升級到 .NET Framework 3.5,4.0 版則可以在不需要完整 .NET Framework 4.0 下自行運作,也可以分開提供服務。

不過也因為如此,當在 Visual Studio 2010 建立新專案時,如果發現 [加入參考] 中沒有列出原本應該列出的組件時,可以先檢查是否是專案的 target framework 設到了 .NET 4.0 Client Profile (例如 System.Web.dll 就不在 .NET 4.0 Client Profile 套件中)。

 

參考資料:

MSDN Library: .NET Framework 4.0, .NET Framework Client Profile