.NET Framework 多目標概觀

更新:2007 年 11 月

Visual Studio 2008 的多目標功能可讓您指定使用應用程式的必要 .NET Framework 版本。多目標的重要優點在於,您可以使用 Visual Studio 2008 來建立以 .NET Framework 2.0、3.0 或 3.5 為目標的專案。這個功能也會讓您繼續開發建立於 Visual Studio 2005 的專案,而不需要加入新的 .NET Framework 相依性。多目標功能有助於保證應用程式只使用所指定 .NET Framework 版本中的可用功能。此外,多目標功能可讓您繼續部署舊版的應用程式,而不會要求您在部署套件中加入新的 .NET Framework 版本。

多目標功能

舊版的 Visual Studio 會要求您安裝最新版的 .NET Framework。例如,如果使用 Visual Studio 2005,也必須安裝 .NET Framework 2.0。新的 .NET Framework 版本可能會提供其他功能,但也可能會將新的 .NET Framework 相依性加入您的專案中。這些相依性可能會造成應用程式在原本可執行的系統上無法執行。如果您的應用程式需要回溯相容性 (Backward Compatibility),這樣可能會造成問題。

不過,Visual Studio 2008 可讓您在 [開啟專案] 和 [新增專案] 對話方塊右上角的 [Framework 版本] 方塊中選取特定的 .NET Framework 版本,以便在您的專案中使用。

根據預設,當您將 Visual Studio 2005 專案升級至 Visual Studio 2008 時,這些專案仍會繼續以 .NET Framework 2.0 為目標。您也可以選擇性地將目標從 .NET Framework 2.0 切換為 .NET Framework 3.0 或 .NET Framework 3.5,以便利用這些版本中的新功能。

.NET Framework 的新版本

Visual Studio 2005 以 .NET Framework 2.0 為目標。.Visual Studio 2008 可以讓您將額外的 .NET Framework 程式庫設定為目標:

  • .NET Framework 3.0:隨附在 Windows Vista 中。包含 Windows Presentation Foundation、Windows Communication Foundation 及 Windows Workflow Foundation。

  • .NET Framework 3.5:隨附在 Visual Studio 2008 中。

  • .NET Framework 3.5 SP1:隨附在 Visual Studio 2008 SP1 中。

.NET Framework Client Profile:隨附在 Visual Studio 2008 SP1 中。如需 .NET Framework Client Profile 的詳細資訊,請參閱 .NET Framework Client Profile

以 .NET Framework 3.5 SP1 為目標平台

從 Visual Studio 2008 SP1 開始,您可以指定 .NET Framework 3.5 SP1 做為應用程式目標平台。不過,您無法從 [目標架構] 下拉式清單中使用 .NET Framework 3.5 SP1。因此,對於想要將目標平台設為 .NET Framework 3.5 SP1 的應用程式,您必須加入新組件 System.Data.Entity.dll 的參考,或執行以下其中一個動作,在 Visual Studio 2008 SP1 中啟用 SP1 ClickOnce 功能:

  • 指定 [錯誤 URL]。

  • 指定 [套件名稱]。

  • 建立桌面捷徑。

  • 在 [應用程式檔案] 對話方塊的雜湊中排除檔案。

  • 清除 [簽章] 頁面上的 [簽署 ClickOnce 資訊清單]。

當您採取其中一項動作時,Visual Studio 2008 SP1 將會自動以 .NET Framework 3.5 SP1 為目標平台。如需詳細資訊,請參閱 HOW TO:以特定的 .NET Framework 為目標平台中的<以 .NET Framework 3.5 版 SP1 為目標平台>。

注意事項:

安裝 Visual Studio 2008 SP1 或 .NET Framework 3.5 SP1 後,只需要 .NET Framework 3.5 的現有應用程式仍將以 .NET Framework 3.5 為目標平台。

建立及開啟目標專案

[Framework 版本] 下拉式方塊可讓您指定專案的目標部署架構。這個檢視中可使用的範本清單,是根據指定的架構目標所篩選的。新的 Visual Studio 2008 專案會自動將目標設定為最新的 .NET Framework 版本 (目前為 .NET Framework 3.5 版),以提供所有的最新功能。

Visual Studio 2008 只會顯示與目前的目標 .NET Framework 版本相關的控制項以及其他專案項目,所以您才不會因新增了控制項至專案中,而不小心將相依性加入之後的 .NET Framework 版本。

解析系統與使用者組件參考

在 Visual Studio 2008 中,[加入參考] 對話方塊會停用與您的目標 .NET Framework 版本無關的系統組件 (系統組件是 .dll 檔案,是 .NET Framework 版本的一部分或具有相依性)。可以幫助您避免將參照新增至不在目標版本中的組件。如果您修改專案檔以包含屬於某個 .NET Framework 版本的參考,而該版本比目前專案指定的目標版本還要新,這時您的參考就不會解析。此時您也無法加入或使用相依於這個參考的控制項。您可以將專案的 .NET Framework 目標轉換為包含這個參考的目標。您可以在專案 [屬性頁] 上執行這個動作。如需詳細資訊,請參閱使用專案設計工具管理專案屬性

如果您將參考加入至使用者建立的組件,而且此組件直接或間接參考的系統組件所屬的 .NET Framework 版本比專案目前目標的版本還要新,這時 Visual Studio 2008 就會顯示警告。如果您忽略這個警告,請確定您的部署專案包含所有必要的 .NET Framework 檔案。

在 .NET Framework 3.5 專案中啟用 LINQ

當您將專案變更成 .NET Framework 3.5 時,便會自動加入 System.Core 的參考與 System.Linq 的專案層級匯入 (僅限 Visual Basic)。如果要使用 LINQ 功能,您必須同時開啟 [推斷選項] (僅限 Visual Basic)。當您將目標 .NET Framework 版本變更為 3.0 或 2.0 時,參考與匯入就會自動移除。如需詳細資訊,請參閱 HOW TO:建立 LINQ 專案

請參閱

其他資源

MSBuild 概念