MSBuild 目標 Framework 和目標平台

您可以建置專案,以在特定 .NET Framework 版本的「目標 Framework」,以及特定軟體架構的「目標平台」上執行。 例如,您可以在目標為 .NET Framework 2.0 以及與 80x86 處理器系列 ("x86") 相容的 32 位元平台上,執行應用程式。 目標 Framework 和目標平台的組合稱為「目標內容」

重要

本文說明指定目標 Framework 的舊方式。 SDK 樣式專案可啟用不同的 TargetFrameworks,例如 netstandard。 如需詳細資訊,請參閱目標 Framework

目標 Framework 和設定檔

目標 Framework 是專案被建置來於其上執行的特定 .NET Framework 版本。 由於目標 Framework 啟用由該版 Framework 獨佔的編譯器功能和組件參考,因此需要目標 Framework 的規格。

以下是目前可供使用的 .NET Framework 版本:

  • .NET Framework 2.0 (包含在 Visual Studio 2005 中)

  • .NET Framework 3.0 (包含在 Windows Vista)

  • .NET Framework 3.5 (包含在 Visual Studio 2008)

  • .NET Framework 4.0

  • .NET Framework 4.5.2

  • .NET Framework 4.6 (包含在 Visual Studio 2015)

  • .NET Framework 4.6.1

  • .NET Framework 4.6.2

  • .NET Framework 4.7

  • .NET Framework 4.7.1

  • .NET Framework 4.7.2

  • .NET Framework 4.8

組件清單中每一個組件所參考的 .NET Framework 版本各自不同。 例如,除非您專案是以 .NET Framework 3.0 (含) 以上版本為目標,否則您無法建置 Windows Presentation Foundation (WPF) 應用程式。

目標 Framework 是在專案檔的 TargetFrameworkVersion 屬性中指定。 您可以在 Visual Studio 整合式開發環境 (IDE) 中,使用專案屬性頁來變更專案的目標 Framework。 如需詳細資訊,請參閱如何:以 .NET Framework 版本為目標TargetFrameworkVersion 的可用值包括 v2.0v3.0v4.0v3.5v4.5.2v4.6v4.6.1v4.6.2v4.7v4.7.1v4.7.2v4.8

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

「目標設定檔」是目標 Framework 的子集。 例如,.NET Framework 4 用戶端設定檔不包含 MSBuild 組件的參考。

注意

目標寫照僅適用於可攜類別庫

目標設定檔是在專案檔的 TargetFrameworkProfile 屬性中指定。 您可以在 IDE 中,使用專案屬性頁中的目標 Framework 控制項來變更目標設定檔。

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>

目標平台

「平台」是定義特定執行階段環境的軟硬體組合。 例如,

  • x86 指定在 Intel 80x86 處理器或其對等項目上執行的 32 位元 Windows 作業系統。
  • x64 指定在 Intel x64 處理器或其對等項目上執行的 64 位元 Windows 作業系統。
  • anycpu 指定設定為能夠在任何平台上執行的輸出。 您的應用程式會盡可能做為 64 位元處理序執行,而且只有在 32 位元模式可用時才會回到該模式。
  • anycpu32bitpreferred 指定在任何平台上執行的輸出。 您的應用程式在同時支援 64 位元和 32 位元應用程式的系統上會以 32 位元模式執行。
  • Xbox 指定 Microsoft Xbox 360 平台。
  • ARM 會將您的組件編譯為可在採用 Advanced RISC Machine (ARM) 處理器的電腦上執行。
  • ARM64 會編譯您的組件,使其可在具備支援 A64 指令集的進階 RISC 機器 (ARM) 處理器電腦上之 64 位元 CLR 執行。

「目標平台」是建置專案以在其上方執行的目標特定平台。 目標平台是在專案檔的 PlatformTarget 建置屬性中指定。 您可以在 IDE 中,使用專案屬性頁或 [組態管理員] 來變更目標平台。

<PropertyGroup>
   <PlatformTarget>x86</PlatformTarget>
</PropertyGroup>

PlatformTarget 會傳遞至編譯器,以判斷要產生的輸出。 針對 C# 專案,其會對應至 C# 編譯器選項 -platform。 關於平台選項的詳細資料,請參閱編譯器選項:PlatformTarget

「目標組態」是目標平台的子集。 例如,x86Debug 組態不包含大部分的程式碼最佳化。 目標組態是在專案檔的 Configuration 建置屬性中指定。 您可以使用專案屬性頁或 [組態管理員] 來變更目標組態。

<PropertyGroup>
   <PlatformTarget>x86</PlatformTarget>
   <Configuration>Debug</Configuration>
</PropertyGroup>