Windows 10 SDK

適用於 Windows 10 2004 版的 Windows 10 SDK (10.0.19041.0) 提供用於建置 Windows 10 應用程式的最新標頭、程式庫、中繼資料及工具。

您可使用這個 SDK,來為 Windows 10 2004 版及較舊的 Windows 版本建置通用 Windows 平台 (UWP) 及 Win32 應用程式。

開始使用

您可透過兩種方式取得 Windows 10 SDK:從本頁選取下載連結來安裝該 SDK,或在 Visual Studio 2019 安裝程式的選用元件中選取 [Windows 10 SDK (10.0.19041.0)],以進行安裝。

安裝此 SDK 之前:

  1. 檢閱以下所有的系統需求。
  2. 安裝前請先結束 Visual Studio 2019。
  3. 檢閱以下的已知問題。

系統需求

Windows SDK 有下列最低系統需求︰

支援的作業系統

  • 通用 Windows 平台 (UWP) 應用程式開發
    • Windows 10 1507 版或更高版本:家用版、專業版、教育版及企業版 (不支援 LTSB 和 S)
    • Windows Server 2019、Windows Server 2016 及 Windows Server 2012 R2 (僅命令列)
  • Win32 應用程式開發
    • Windows 10 版本 1507 或更高版本
    • Windows Server 2019、Windows Server 2016 及 Windows Server 2012 R2 (僅命令列)
    • Windows 8.1
    • Windows 7 SP1

(舊版作業系統不支援所有工具)

硬體需求

  • 1.6 GHz 或更快的處理器
  • 1 GB 的 RAM
  • 4 GB 可用的硬碟空間

其他 SDK 需求

在 Windows 8.1 或更早版本作業系統上安裝需要 KB2999226。若要透過 Windows Update 安裝,請確定安裝 Windows SDK 前已經安裝 Microsoft Update 的最新建議更新和修補程式。

新功能

適用於 Windows 10 2004 版的 Windows 10 SDK 提供了數個令人興奮的全新 API 與更新工具,可供您開發 Windows 應用程式。深入了解 Windows 10 2004 版的新功能

API

若要查看 Windows 10 2004 版所推出的全新 API,請參閱:適用於開發人員的 Windows 10 (組建 19041) 新功能

移除 api-ms-win-net-isolation-l1-1-0.lib

在此版本中,從 Windows SDK 中移除了 api-ms-win-net-isolation-l1-1-0.lib。根據 api-ms-win-net-isolation-l1-1-0.lib 連結的應用程式可改用 OneCoreUAP.lib 作為取代項目。

移除 irprops.lib

在此版本中,從 Windows SDK 中移除了 irprops.lib。根據 irprops.lib 連結的應用程式可改用 bthprops.lib,作為可隨時取代的項目。

移除 wuapicommon.h 與 wuapicommon.idl

在此版本中,我們將 ENUM tagServerSelection 從 wuapicommon.h 移至 wupai.h,並移除了標頭。如果要使用 ENUM tagServerSelection,則需要包含 wuapi.h 或 wuapi.idl。

Windows 10 WinRT API 套件

Windows 10 WinRT API 套件可讓您將 Windows 執行階段 API 支援新增到 .NET Framework 4.5+ 及 .NET Core 3.0+ 程式庫與應用程式。若要取得 Windows 10 WinRT API 套件,請參閱 Microsoft.Windows.SDK.Contracts nuget 套件

工具

Windows 應用程式認證套件

在本次發行的 Windows SDK 中,我們在應用程式認證套件和 Microsoft Store 的支援 API 清單中新增了數個全新的 API。如果支援清單中的 API 在 Visual Studio 中顯示為灰色或已停用,您可對來源檔案進行一點變更,以存取這些 API。如需詳細資料,請參閱已知問題

除了新增 API,我們還對測試進行了以下變更:

已更新的測試:

  • ValidateContentUriRules 將僅供參考。測試失敗將顯示為警告。

已移除的測試

  • 為 Web 應用程式進行的 WebView WinRT 存取測試
  • 為 UWP 應用程式進行的 PackageSizeCheck 測試
  • 為傳統型橋接器應用程式進行的 SupportedApi 測試
  • 為 UWP 應用程式使用 BinScope 進行的 AppContainerCheck 測試
  • 為所有應用程式類型進行的 ServiceWorker 檢查

新測試

  • 高 DPI 測試。傳統型橋接器應用程式的新測試會檢查應用程式是否使用 DPI 感知功能,如果未指定則會發出警告。此測試會建議您讓應用程式具備個別監視器 DPI 感知能力。如需 DPI 的詳細資料,請參閱 Windows 的高 DPI 傳統型應用程式開發 (英文)。

訊息編譯器 (mc.exe)

更新包括:

  • 現可在.mc 檔案中偵測 Unicode 位元組順序標記 (BOM)。如果 .mc 檔案的開頭為 UTF-8 BOM,將會讀取為UTF-8 檔案。但如果開頭為 UTF-16LE BOM,將會讀取為 UTF-16LE 檔案。如果指定 -u 參數,將會讀取為 UTF-16LE 檔案。否則會使用目前的字碼頁 (CP_ACP) 讀取。
  • 現可避免因設定巨集衝突,使 MC 生成 C/C++ ETW 協助程式發生單一定義規則 (ODR) 問題 (例如,當 MCGEN_EVENTWRITETRANSFER 定義互相衝突的兩個 .cpp 檔案連結到相同二進位檔時,MC 生成 ETW 協助程式現在會遵守每個 .cpp 檔案中的 MCGEN_EVENTWRITETRANSFER 定義,而不是任意選擇其中一個)。

Windows 追蹤前置處理器 (tracewpp.exe)

更新包括:

  • 現已支援 Unicode 輸入 (.ini、.tpl 及原始程式碼) 檔案。若輸入檔開頭為 UTF-8 或 UTF-16 位元組順序標記 (BOM),將會讀取為 Unicode。若輸入檔開頭不是 BOM,將會使用目前的字碼頁 (CP_ACP) 讀取。為了回溯相容,如果指定 -UnicodeIgnore 命令列參數,會將開頭為 UTF-16 BOM 的檔案視為空白。
  • 現已支援 Unicode 輸出 (.tmh) 檔案。根據預設,將使用目前的字碼頁 (CP_ACP) 對輸出檔案進行編碼。請使用命令列參數 -cp:UTF-8 或 -cp:UTF-16 產生 Unicode 輸出檔案。
  • 行為變更:tracewpp 現可將所有輸入文字轉換為Unicode,以 Unicode 執行處理,並將輸出文字轉換為指定的輸出編碼。舊版的 tracewpp 避免了 Unicode 轉換,並假設使用單一位元組字元集來執行文字處理。在輸入檔未遵循目前字碼頁的情況下,這種運作方式可能導致行為變更。如果出現問題,請考慮將輸入檔轉換為 UTF-8 (具有BOM),及 (或) 使用 -cp:UTF-8 命令列參數,以避免編碼模糊。

TraceLoggingProvider.h

更新包括:

  • 現可避免因設定巨集衝突所導致的單一定義規則 (ODR) 問題 (例如,當 TLG_EVENT_WRITE_TRANSFER 定義互相衝突的兩個 .cpp 檔案連結到相同二進位檔時,TraceLoggingProvider.h 協助程式現在會遵守每個 .cpp 檔案中的 TLG_EVENT_WRITE_TRANSFER 定義,而不是任意選擇其中一個)。
  • 在 C++ 程式碼中,已更新 TraceLoggingWrite 巨集,以使用可變參數範本,讓類似事件之間的程式碼共用更加輕鬆。

使用 Device Guard 簽署來簽署應用程式

您可更輕鬆地簽署應用程式。Device Guard 簽署是商務與教育用 Microsoft Store 中提供的 Device Guard 功能。簽署可讓企業保證每個應用程式都來自受信任的來源。我們的目標是讓您可以更輕鬆地簽署 MSIX 套件。請參閱 Device Guard 簽署的相關文件

範例

您現在可以透過 GitHub 取得 Windows 10 應用程式範例。您可以瀏覽 GitHub 上的程式碼、從 Git 複製一份存放庫個人複本,或下載所有範例的 ZIP 壓縮封存。我們歡迎您提供意見反應,因此若您有任何問題,都可以在存放庫中反應。這些範例是設計來在支援通用 Windows 平台 (UWP) 的電腦、行動裝置與未來裝置上執行。

先前的 SDK 版本

您可以在封存頁面找到先前發行的 SDK 與模擬器,包括更新詳細資料。

API 光明燈

使用新的 API 時,請考慮編寫應用程式成為自適性,以便能夠在各式各樣的 Windows 10 裝置上正確執行。只要裝置和 Windows 版本支援新功能,自適性的應用程式就會提供這些新功能,否則就只會提供偵測到的平台版本所提供的功能。如需實作的詳細資料,請參閱版本調適型程式碼文章。如需工具的最新版本資訊或相關問題,請參閱 Windows 開發人員論壇

意見反應與已知問題

若要了解已知問題的意見反應與更新,請參閱開發人員論壇

若要提出新的開發人員功能要求,請透過「開發人員平台/API」目錄下的意見反應中樞應用程式提交。

更多資源

下載與工具

取得最新版 Visual Studio 與 Windows 10 開發工具。

深入了解

SDK 封存

尋找舊版 Window SDK 及其他工具。

查看封存

Windows 部落格

訂閱我們的部落格,以隨時掌握最新 SDK 正式發行前小眾測試版的消息。

獲取 SDK 正式發行前小眾測試版的消息

Windows 生命週期資料表

尋找 Windows 版本更新與結束支援的重要日期。

查看資料表