為 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++ 工作負載進行桌面開發]。 在 [個別元件] 索引卷標的 [編譯程式]、[建置工具] 和 [運行時間] 下,選擇 C++ [VS 2017 的 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 為目標
在方案總管中,開啟專案的捷徑功能表,然後選擇 [屬性]。
在專案的 [ 屬性頁] 對話框中,將 [ 組態 ] 下拉式清單設定為 [所有組態]。
選取 [組態屬性]>[一般] 屬性頁。 將 [平臺工具組 ] 屬性設定為您慣用的 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基礎類庫 (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++語言功能。 如需編譯程式版本所支持語言功能的詳細資訊,請參閱 C/C++ 語言一致性Microsoft。
遠端偵錯
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++ 應用程式。