為 Windows XP 設定程式

Visual Studio 支援多個平臺工具組。 這表示可以將目標設為預設工具組不支援的作業系統和執行時間程式庫。 例如,藉由切換平臺工具組,您可以使用 Visual Studio 2017 C++ 編譯器來建立以 Windows XP 和 Windows Server 2003 為目標的應用程式。 您也可以使用舊版平台工具組來保留與二進位檔相容的舊版程式碼,同時仍可使用 Visual Studio IDE 的最新功能。

Visual Studio 2019 和更新版本中提供的工具組不包含建立 Windows XP 程式碼的支援。 您可以使用 Visual Studio 2017 v141_xp工具組來支援 Windows XP 開發。 您可以將v141_xp工具組安裝為Visual Studio 安裝程式中的個別元件選項。

安裝 Windows XP 平台工具組

若要取得以 Windows XP 和 Windows Server 2003 為目標的 Visual Studio 2017 平臺工具組和元件,請執行Visual Studio 安裝程式。 當您一開始安裝 Visual Studio 或修改現有安裝時,請確定已選取 [ 使用 C++ 進行桌面開發] 工作負載。 在此工作負載的選擇性元件清單中,選擇 [C++ 的 Windows XP 支援],然後選擇 [安裝] 或 [修改]

若要取得以 Windows XP 和 Windows Server 2003 為目標的v141_xp平臺工具組和元件,請執行Visual Studio 安裝程式。 當您一開始安裝 Visual Studio 或修改現有安裝時,請確定已選取 [ 使用 C++ 進行桌面開發] 工作負載。 在 [個別元件] 索引標籤的 [編譯器]、[建置工具] 和 [執行時間 ] 下 ,選擇 [ VS 2017 的 C++ Windows XP 支援[已淘汰] ,然後選擇 [ 安裝 或修改 ]。

以 Windows XP 為目標的體驗

Visual Studio 中包含的 Windows XP 平臺工具組是 Windows 7 SDK 的版本,但它使用 Visual Studio 2017 C++ 編譯器。 它也會將專案屬性設定為適當的預設值,例如設定下層目標的相容連結器規格。 只有使用 Windows XP 平臺工具組建立的 Windows 傳統型應用程式可以在 Windows XP 和 Windows Server 2003 上執行。 這些應用程式也可以在較新的 Windows 作業系統上執行。

以 Windows XP 為目標

  1. 在方案總管中,開啟專案的捷徑功能表,然後選擇 [屬性]

  2. 在專案的 [ 屬性頁] 對話方塊中,將 [ 組態 ] 下拉式清單設定為 [所有組態 ]。

  3. 選取 [組態屬性]>[一般] 屬性頁。 將 [平臺工具組 ] 屬性設定為您慣用的 Windows XP 工具組。 例如,選擇 Visual Studio 2017 - Windows XP (v141_xp) ,使用 Visual Studio 2017 的 Microsoft C++ 編譯器建立 Windows XP 和 Windows Server 2003 的程式碼。

C++ 執行階段支援

除了 Windows XP 平臺工具組,數個程式庫包含 Windows XP 和 Windows Server 2003 的執行時間支援:

  • 通用 C 執行時間程式庫 (UCRT)
  • C++ 標準程式庫
  • Active Template Library (ATL)
  • 並行執行時間程式庫 (ConcRT)
  • 平行模式程式庫 (PPL)
  • Microsoft Foundation Class Library (MFC)
  • C++ AMP (C++ 加速大規模程式設計) 程式庫。

這些作業系統的最低支援版本包括:適用于 x86 的 Windows XP Service Pack 3 (SP3),適用于 x64 的 Windows XP Service Pack 2 (SP2),以及適用于 x86 和 x64 的 Windows Server 2003 Service Pack 2 (SP2)。

Visual Studio 所安裝的平台工具組支援下列程式庫 (視目標而定):

程式庫 以 Windows 桌面應用程式為目標的預設平台工具組 以市集應用程式為目標的預設平台工具組 以 Windows XP、Windows Server 2003 為目標的 Windows XP 平台工具組
CRT X X X
C++ 標準程式庫 X X X
ATL X X X
ConcRT/PPL X X X
MFC X X
C++ AMP X X

注意

以 C++/CLI 撰寫、並以 .NET Framework 4 為目標的應用程式可在 Windows XP 和 Windows Server 2003 上執行。

這些工具組的差異

由於平臺和程式庫支援的差異,使用 Windows XP 平臺工具組之應用程式的開發體驗與使用預設平臺工具組的應用程式並不一樣完整。

  • C++ 語言功能

    在使用 v141_xp 平臺工具組的應用程式中,僅支援在 Visual Studio 2017 中實作的 C++ 語言功能。 在使用 v140_xp 平臺工具組的應用程式中,僅支援在 Visual Studio 2015 中實作的 C++ 語言功能。 Visual Studio 在使用舊版平台工具組建置時,會使用對應的編譯器。 使用最新的 Windows XP 平臺工具組,利用該版本編譯器中實作的最新 C++ 語言功能。 如需編譯器版本所支援語言功能的詳細資訊,請參閱 Microsoft C/C++ 語言一致性

  • 遠端偵錯

    Visual Studio 遠端工具不支援 Windows XP 或 Windows Server 2003 上的遠端偵錯。 若要在本機或遠端偵錯 Windows XP 或 Windows Server 2003 上的應用程式,請使用舊版 Visual Studio 中的偵錯工具。 它類似于在 Windows Vista 上偵錯應用程式:Vista 是 平臺工具組的執行時間 目標,但不是 遠端偵錯 目標。

  • 靜態分析

    Windows XP 平臺工具組不支援靜態分析。 Windows 7 SDK 和執行時間程式庫的 SAL 注釋不相容。 您仍然可以在支援 Windows XP 或 Windows Server 2003 的應用程式上執行靜態分析。 暫時將解決方案切換為以預設平臺工具組為目標進行分析,然後切換回 Windows XP 平臺工具組以建置應用程式。

  • 偵錯 DirectX 圖形

    圖形偵錯工具不支援 Direct3D 9 API。 它無法用來偵錯在 Windows XP 或 Windows Server 2003 上使用 Direct3D 的應用程式。 不過,如果應用程式實作以 Direct3D 10 或 Direct3D 11 API 為基礎的替代轉譯器,您可以使用圖形偵錯工具來診斷問題。

  • 建置 HLSL

    Windows XP 工具組預設不會編譯 HLSL 原始程式碼檔案。 若要編譯 HLSL 檔,請下載及安裝 2010 年 6 月的 DirectX SDK,然後再設定專案的 VC 目錄以包含這個檔案。 如需詳細資訊,請參閱 2010 年 6 月 DirectX SDK 下載頁面 一節 (封存的連結)。

Windows XP 部署

重要

因為它不支援 SHA-256 程式碼簽署憑證,所以 Visual Studio 2015、2017、2019 和 2022 的最新C++ 可轉散發套件 已不再提供 Windows XP 的執行時間程式庫支援。 支援 Visual Studio 2019 16.7 版中隨附之 Windows XP 的最後一個可轉散發套件。 使用具有從 14.27 開始 之檔案版本的可轉散發套件。 如果您的 Windows XP 應用程式已使用 或 更新為更新為可轉散發套件的更新版本,則不會執行應用程式。

如果您使用 Visual Studio 2019 16.7 版之後的 Visual Studio 版本,可轉散發檔案將無法在 Windows XP 上運作。 若要取得支援 Windows XP 的可轉散發檔案複本,您需要 Visual Studio 帳戶。 使用您用來登入 Visual Studio 的帳戶。 或者,您可以在 my.visualstudio.com 免費 建立帳戶。 [下載] 區段中提供可轉散發檔案,如 Visual Studio 2019 - 16.7 版的C++ 可轉散發套件。 若要下載檔案,請選取您需要的平臺和語言,然後選擇 [下載] 按鈕。

您可以使用中央部署或本機部署來安裝 Windows XP 應用程式的執行時間程式庫支援。 如需詳細資訊,請參閱 逐步解說:使用 C++ 可轉散發套件 套件 部署 Visual C++ 應用程式。