Visual Studio 多目標概觀

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

注意事項注意事項

Visual Studio 中的多目標功能不保證您的應用程式一定能以多個 .NET Framework 版本執行。 您可以使用多目標功能為您的應用程式選取 .NET Framework 版本目標。 但您仍然必須測試應用程式,確定它能以選取的版本執行。 Visual Studio 中的多目標功能僅適用於 .NET Framework 2.0 (含) 以後版本。

.NET Framework 版本和設定檔

Visual Studio 2010 只包含 .NET Framework 4。 若要以舊版 .NET Framework 為目標,您必須安裝 .NET Framework 3.5 Service Pack 1 (SP1)。 .NET Framework 3.5 SP1 內含 .NET Framework 2.0、.NET Framework 3.0 和 .NET Framework 3.5 SP1。 若要下載和安裝 .NET Framework 3.5 SP1,請參閱 Microsoft 下載中心網站上的 Microsoft .NET Framework 3.5 Service Pack 1

.NET Framework 設定檔是 .NET Framework 的子集,可提供一組有限的程式庫和功能。 可用於建立用戶端應用程式的用戶端設定檔就是一個 Framework 設定檔範例。 如需用戶端設定檔的詳細資訊,請參閱 .NET Framework Client Profile

您可以指定目標 .NET Framework 版本或設定檔,其作法是在建立專案時於 [新增專案] 對話方塊中加以選取。 可用的專案範本清單會根據選取項目進行篩選。

注意事項注意事項

Visual Studio 的 Express 版本不支援透過 [新增專案] 對話方塊取得多目標功能。

變更目標 .NET Framework 版本

若為現有的專案,您可以修改專案屬性,以變更目標 .NET Framework 版本或設定檔。 如需詳細資訊,請參閱專案設計工具、應用程式頁 (C#)進階編譯器設定對話方塊 (Visual Basic)

當您變更目標 .NET Framework 版本時,Visual Studio 不一定會自動變更參考的組件版本。 您可能還需要進行一些手動變更。 如需詳細資訊,請參閱疑難排解 .NET Framework 目標錯誤

多目標功能

Visual Studio 多目標功能包括:

  • 當您在 Visual Studio 中開啟使用舊版 .NET Framework 的專案時,Visual Studio 會自動將專案升級,或保留其舊版。

  • 當您建立新專案時,您可以指定要使用的目標 .NET Framework 版本。

  • 您可以變更現有專案使用的目標 .NET Framework 版本。

  • 您可以在相同方案的不同專案中,使用不同版本的 .NET Framework。

  • 當您變更專案所使用的目標 .NET Framework 版本時,Visual Studio 會對參考和組態檔進行必要的變更。

此外,當您操作使用舊版 .NET Framework 專案時,Visual Studio 會動態地在開發環境中進行變更,如下所示:

  • 篩選 [新增專案] 對話方塊、[加入新項目] 對話方塊、[加入新參考] 對話方塊和 [加入服務參考] 對話方塊中的項目,以省略只有新版才有的選項。

  • 篩選 [工具箱] 內的自訂控制項,以移除只有新版才有的選項,並在所用版本出現多個控制項時,顯示最新的版本。

  • 它會篩選 IntelliSense,將只有新版才可使用的語言功能予以省略。

  • 篩選 [屬性] 視窗中的屬性,以省略只有新版才有的屬性。

  • 篩選功能表選項,以省略只有新版才有的選項。

  • 它會使用適當版本的編譯器與編譯器選項進行編譯及建置。

開發與多個 .NET Framework 版本相容的應用程式

若要開發與多個 .NET Framework 版本相容的應用程式,建議您先以較低的 .NET Framework 版本開發應用程式,然後再以較高的 .NET Framework 版本進行建置。 例如,您可以以 .NET Framework 3.5 開發應用程式,然後再以 .NET Framework 4 進行建置。

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

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

啟用 LINQ

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

請參閱

概念

.NET Framework 的多目標 ASP.NET Web 專案

其他資源

MSBuild Concepts