跳轉到主要內容

簡介

歡迎使用 2026 年 4 月 Microsoft Game Development Kit with XBOX Extensions (GDKX) 和公開 GDK 版本。您可以使用 GDKX 透過共用的程式碼基底開發遊戲,這些遊戲可通過認證並獲准在 Windows 11 電腦、Windows 10 電腦、XBOX One 和 XBOX Series X|S 主機上發行。使用 GDK,您可以開發可通過認證並獲准在 Windows 11 電腦和 Windows 10 電腦上發行的遊戲。

GDKX

GDK

關於本文件

本文件分為下列各節。
注意:版本資訊的描述後面會附上一個編號,例如 [12345678]。對 GDKX 使用者而言,此編號代表 Microsoft 用來追蹤該項目相關工作與歷程記錄的內部識別碼。如果您對特定版本資訊有疑問,此編號可能對您的開發人員客戶經理有所幫助。

2026 年 4 月 Microsoft Game Development Kit 的新功能

  • GDKX 和 GDK 的發行分為兩種類型:主要版本 (著重於功能,每年兩次) 和更新 (著重於修正,視合作夥伴需求隨時發行)。
  • 若要檢視完整的新功能章節,請參閱線上版的新功能。
  • 若要檢視舊版的版本資訊,GDKX 請參閱 GDK 論壇上的版本資訊文章。GDKX 和 GDK 可以在線上文件的 GDK 版本資訊中檢視版本資訊。

2026 年 4 月 GDK Update 5

問題修正

PlayFab Party

已將 PlayFab Party 更新至 v1.10.26,其中包含下列修正:
  • 修正終結 PartyEndpoint 時可能發生的當機。
  • 修正對 /MultiplayerServer/GetCognitiveServicesToken 傳回的空白、格式錯誤或不完整回應的處理方式。Party 現在會將要求回報為失敗,而不會發生可能的當機。
  • 修正遠端裝置離開對等網路之後才完成直接連線設定時可能發生的當機。
[63883777]

系統

修正將大型字串傳遞至 XSpeechSynthesizerCreateStreamFromText 時,xgameruntime.dll!OnRuntimeDisconnected 中可能發生的遊戲當機。[63860960]
改善執行遊戲存檔讀取或寫入作業時的記憶體壓力處理。[63996543]
改善遊戲存檔讀取或寫入作業失敗時傳回的錯誤碼。[63996543]

2026 年 4 月 GDK Update 4

問題修正

Social Manager

修正 GDK C Thunks DLL 未匯出 Privacy 靜音清單、封鎖清單和 Social 好友要求計數變更處理常式函式的問題。這導致呼叫這些函式的遊戲在未提示的情況下連結到 XSAPI 靜態程式庫,而不是 thunks DLL,最後產生不相符的執行階段。[63776691]
修正填入 Social Manager 社交圖形時發生的堆疊溢位當機。原因是 PeoplehubService::DeserializeUser 使用了 17 KB 的堆疊框架,其中保存每個 XblSocialManagerUser 的三份多餘複本。[63776693]

MSIXVC1 (封裝)

不使用 /msixvc2 選項的 makepkg2 pack 再次可以正常運作,不會出現有關 /usepublisherkey 選項的錯誤。此問題是在 Update 3 中引入的。[63529609]

Wdapp

修正對同時具有 ARM64 和 x64 二進位檔的遊戲使用 wdapp register 時,在 ARM64 電腦上未選擇適當二進位檔的問題。[63756866]

PIX

修正 PIX 時間軸中未顯示具名柵欄箭號的問題。[63446892]

2026 年 4 月 GDK Update 3

通知

Publisher Content

電腦和主機遊戲現在可以隨附 Publisher Content。這是一種新的套件類型,可讓遊戲發行者在自己的 CDN 上裝載和更新內容,同時由平台繼續管理安裝、背景下載、完整性和使用者體驗。 開發人員可在 MicrosoftGame.config 中宣告 (透過基礎遊戲上新的 PublisherContent 元素,以及內容套件上的 PublisherContentBaseProduct 欄位),並使用對應的新 makepkg 參數產生套件。 遊戲可以使用新的 XPackageGetPackageKind() API 識別現有 GDK API 傳回的套件種類,該 API 現在除了 Game 和 Content 之外,也會回報 XPackageKind::PublisherContent。 [63082917]

PlayFab Party

已將用於建置程式庫的 Windows 平台工具組從 v142 升級至 v143。[63294760]

PIX

提供新的 CLI 工具 convertpevt.exe,可轉換程式設計方式的計時擷取。[62666766]

問題修正

Clang/LLVM

XBOX Game OS 整合程式庫 xgameplatform.lib 已更新,新增下列 Win32 API 以支援 clang/LLVM 的 PGO 檢測實作:FlushViewOfFile、VirtualUnlock。 使用 clang/LLVM PGO 的開發人員,也需要為 clang/LLVM 實作所使用的部分舊版 POSIX API 提供連結別名,才能成功連結:
[62740693]

PIX

載入大型外部著色器 PDB 快取變得更可靠且一致。[63014983]

PIX DirectStorage

修正在計時擷取中從 Element Details 檢視或 Range Details 檢視瀏覽時,導致縮放行為不正確的問題。[62664029]
修正在深色模式下,計時擷取時間軸中標示 DirectStorage 批次開始的菱形標記難以辨識的問題。[62664035]

XBOX Manager

修正在 Remote Control 索引標籤中檢視主機或群組的影片時,可能發生的 XBOX Manager 當機。[62844048]

PlayFab Game Saves

修正 Steam Deck 上的輕微遙測回報問題,這些問題會導致某些診斷欄位在存檔作業期間填入不正確的值。[62642608]
停用 Steam Deck 上的衝突落敗方上傳功能,以符合 XBOX/GRTS 的行為。[62642612]
修正 PlayFab Game Saves 未正確處理遺失的登錄機碼,導致初始化錯誤的問題。[62642607]

Social Manager

修正當初始 People Hub 好友清單要求從未完成時,Social Manager 好友清單可能會間歇性地在整個工作階段中保持空白 (XblSocialManagerDoWork 未引發 LocalUserAdded 事件) 的問題。初始要求現在會自動復原,因此不需要重新啟動遊戲即可填入社交圖形。[63202269]
修正好友正在玩的遊戲顯示名稱包含連字號時,Social Manager 傳回不正確的遊戲名稱和豐富狀態文字的問題。原因是狀態字串在第一個連字號處分割,而不是在預期的「空格-連字號-空格」分隔符號處分割。[63202289]

PlayFab Party

修正遊戲尚未設定音訊輸出時,音訊操作語音串流未產生任何緩衝區的問題。[63294702]
修正在音訊操作作用中時切換網路,可能遺失語音的問題。[63294760]
修正音訊操作擷取串流作用中時,遺失最終語音轉文字轉錄的問題。[63294760]
修正在 Party 完成關機之前刪除處理序工作佇列時,關機時可能發生的當機。[63294760]
修正內部 HTTP 追蹤物件可能在背後的非同步工作完成之前遭到刪除,而可能發生釋放後使用的問題。[63294760]
修正在某些 WMI 登錄設定錯誤的電腦環境中,PlayFab Party 無法繫結至其 UDP 多人遊戲連接埠的錯誤。[63251323]

Publisher Content

修正 XTaskQueue 中的內部錯誤,以防止在終止期間發生無限等待。[63190218]

MSIXVC2

即使 Intelligent Delivery layout.xml 中有多個功能使用相同的影像檔,現在也可以成功建立 MSIXVC2。[63117723]
MSIXVC2 pack 命令會順利忽略 /maxencryptionfragments 和 /nogameos 選項 (這些選項對 MSIXVC2 沒有作用),以便更容易放入現有的建置管線中。[63118134]
MSIXVC2 pack 命令現在會正確包含來源目錄中屬於符號連結的檔案。先前會錯誤地將這些檔案視為長度為 0 的檔案。[63118309]

2026 年 4 月 GDK Update 2

通知

開發人員工具

適用於 Visual Studio 2019 的 Direct3D 12 Desktop Game (Classic) 範本不再具有 ARM64 組態。已淘汰使用 Visual Studio 2019 以 ARM64 為目標的支援。需要 Visual Studio 2022 或更新版本。[62468394]

提供 Markdown 檔案

GDK 安裝程式已新增包含 GDK 文件 Markdown 檔案的 .zip 檔案。先前,此 .zip 檔案只能從 https://aka.ms/gdkdl 另行下載。[62398050]

問題修正

輸入

修正在 XBOX 上的 NuGet 版 GameInput 中呼叫 GameInputCreate 時,可能發生記憶體不足錯誤的問題。[62353092]

PIX

修正開啟在 Lockhart 40GB 上擷取的擷取檔時,PIX 錯誤地將主機模式回報為 Lockhart 的問題。[62490828]

媒體

修正在未提交輸入影片樣本的情況下建立並終結解碼器時,導致 H.264 解碼器 Media Foundation Transform (MFT) 在終結期間停止回應的問題。[62525251]

系統

修正未簽署 (本機) 的 MSIXVC2 套件無法使用 wdapp 安裝的問題。[62386086]

2026 年 4 月 GDK Update 1

通知

XBOX Game Package Manager

建立和上傳 MSIXVC2 套件時,請使用 GitHub 上最新的 XBOX Game Package Manager (XGPM) UI 版本。此版本包含多項修正。若要下載,請前往 releases - Microsoft/PackageUploader。

問題修正

系統

修正 XGameActivationAcceptPendingInvite API 中的記憶體流失。[61953160]
修正 XLaunchUri 在 URI 長度超過 21 個字元時失敗的問題。[62181431]
修正 XGameInvite.h 和 XGameProtocol.h GDK 標頭檔中可能導致 C4768 編譯器錯誤的問題。[62181564]

MSIXVC2

修正 MSIXVC2 預覽版本中的各種元件可靠性和效能問題。[62225080]

開發人員工具

修正 MicrosoftGame.config Editor 在回報成功的同時,卻在未提示的情況下無法儲存或建立新檔案的問題。[62226865]

2026 年 4 月 GDK

通知

GDK 配置淘汰

2025 年 10 月和 2026 年 4 月的 GDK 版本同時包含簡化配置和舊版配置。從 2026 年 10 月的 GDK 開始,安裝程式預設只會安裝簡化配置。舊版配置仍可選取為選擇性安裝,但已淘汰,且不再是建議的開發路徑。 從 2027 年 4 月的 GDK 版本開始,將不再支援舊版配置,並會從安裝程式中移除。

API 淘汰

XGameActivation API 已取代 XGameProtocol 和 XGameInvite API,為所有遊戲啟用案例提供單一 API 介面。因此,XGameProtocol 和 XGameInvite 現已淘汰。現有的實作會繼續運作,但我們建議移轉至 XGameActivation,以便進行新的開發並確保未來的相容性。 下列 API 已淘汰。
  • XGameProtocolRegisterForActivation
  • XGameProtocolUnregisterForActivation
  • XGameInviteRegisterForEvent
  • XGameInviteUnregisterForEvent
  • XGameInviteRegisterForPendingEvent
  • XGameInviteUnregisterForPendingEvent
  • XGameInviteAcceptPendingInvite
如需詳細資訊,請參閱 XGameActivation。 [61232139]

開發人員工具

Visual Studio 2019 的主流支援已到期。延伸支援將持續到 2029 年 4 月。如需 Visual Studio 2019 產品生命週期和服務的詳細資訊,請參閱 Visual Studio 2019 產品生命週期和服務。 Visual Studio 2019 和 v142 工具組編譯器自 2024 年 4 月起已終止主流支援,僅接收安全性服務。未來的 GDK 版本將移除對 Visual Studio 2019 整合的支援,以及透過 Visual Studio 2022/Visual Studio 2026 使用 v142 平台工具組的支援。此程序將包括移除 Microsoft.Xbox.Services.142.GDK.C.lib 程式庫。對於 Visual Studio 2022 和 Visual Studio 2026,我們建議改用 2026 年 4 月 GDK 中新增的 Microsoft.Xbox.Services.143.GDK.C.lib。 [61594513]
Visual Studio 2019 不再支援適用於 XBOX 的 Address Sanitizer (ASAN)。[60868415]
現在可以從 XBOX Manager 的 Media Capture 索引標籤將螢幕擷取畫面複製到剪貼簿。[41667882]
wdcapture、wdcapturesession 和 xblpcsandbox 等電腦命令列工具現在支援透過意見反應中樞應用程式直接提交錯誤意見反應。[60250549]
Package Uploader 現在支援同盟認證。[60771527]

Microsoft Azure PlayFab

PlayFab Multiplayer 已更新至 v1.9.0。如需詳細資訊,請參閱 PlayFab Multiplayer C++ SDK 版本資訊 - PlayFab | Microsoft Learn。[61288995]

Microsoft Azure PlayFab Party

PlayFab Party 已更新至 v1.10.18。如需詳細資訊,請參閱 PlayFab Party 版本資訊 - PlayFab | Microsoft Learn。[61288995]

問題修正

修正在非英文命令提示字元中執行 xbapp.exe 或 xbconnect.exe 等 GDK XBOX 命令列工具後,語言設定變更為英文的問題。[59688191]
修正 XBOX Game Package Manager 未在 UI 中填入上次選取分支的問題。[60771527]

已知問題

makepkg2:/priorpackage 不會為 MSIXVC2 套件產生比較報告

問題:
在 makepkg2 中,封裝 MSIXVC2 套件時使用 /priorpackage 旗標不會產生比較報告。此版本不支援為 MSIXVC2 套件產生比較報告。
適用於:
  • 2026 年 4 月 GDK
因應措施:
目前沒有。
狀態:
此問題將在未來的 GDK 更新中修正。
[61771743]

makepkg2:layout.xml 要求所有功能都必須有 DisplayName

問題:
在 makepkg2 中,layout.xml 剖析器要求所有功能都必須具有 DisplayName 屬性,包括顯示名稱沒有意義的隱藏功能。
適用於:
  • 2026 年 4 月 GDK
因應措施:
在 layout.xml 中為任何隱藏功能新增預留位置 DisplayName 屬性。
狀態:
此問題將在未來的 GDK 更新中修正。
[61767246]

makepkg2:MicrosoftGame.config 中沒有 ContentId 時,/contentid 旗標會失敗

問題:
在 makepkg2 中,如果 MicrosoftGame.config 中未指定 ContentId,使用 /contentid 旗標會產生下列錯誤。
/contentid specified on the command line does not match the ContentId derived from the MicrosoftGame.config file. 此行為與 makepkg 不同,後者在此案例中會直接接受 /contentid 值。 適用於:
  • 2026 年 4 月 GDK
因應措施:
使用 /contentidoverride 代替 /contentid。
狀態:
此問題將在未來的 GDK 更新中修正。
[61767256]

無法透過 Web UI 將 MSIXVC2 套件上傳至 Microsoft 合作夥伴中心

問題:
如果 .msixvc 套件是使用新的 makepkg2 工具建置的,將其上傳至合作夥伴中心會失敗。
適用於:
  • 合作夥伴中心 Web UI
因應措施:
使用下列其中一個工具將 MSIXVC2 套件上傳至合作夥伴中心。
狀態:
合作夥伴中心將在未來幾個月內更新,以新增透過 Web 上傳 MSIXVC2 套件的支援。

XboxPcTray.exe 可能會阻止 MSIXVC2 套件解除安裝或更新

問題:
XboxPcTray.exe 有時會保留遊戲 Content 資料夾的控制代碼,這可能會導致解除安裝或更新作業無法完成。
適用於:
  • 2026 年 4 月 GDK
因應措施:
嘗試解除安裝或更新之前,請先關閉 XBOX PC Tray 應用程式。若要關閉,請在系統匣中以滑鼠右鍵按一下 XboxPcTray 圖示,然後選取 Quit。您也可以在工作管理員中結束 XboxPcTray.exe 處理序。
狀態:
此問題將在未來的 GDK 更新中修正。
[61618609]

無法透過 Package Uploader 上傳 MSIXVC2 套件

問題:
如果 .msixvc 套件是使用 makepkg2 工具搭配 /msixvc2 旗標建置的,透過 Package Uploader 命令列工具將其上傳至合作夥伴中心會失敗,並出現 400 (Bad Request) 錯誤。雖然 MSIXVC 和 MSIXVC2 套件使用相同的 .msixvc 副檔名,但 MSIXVC2 套件使用不同的內部格式,Package Uploader 目前不支援此格式。
適用於:
  • Package Uploader CLI (PackageUploader.exe)
因應措施:
使用下列其中一個工具上傳 MSIXVC2 套件。
狀態:
此問題將在未來的 Package Uploader 版本中解決。

合作夥伴中心 UI 中的 MSIXVC2 套件大小顯示為 1 位元組

問題:
合作夥伴中心為已上傳的 MSIXVC2 套件顯示不正確的大小。無論套件大小為何,都會顯示 1 位元組。
適用於:
  • 合作夥伴中心
因應措施:
目前沒有。
狀態:
此問題將在未來的 GDK 工具更新中修正。

適用於 Visual Studio 2026 的 Build With/Out Install (BWOI) MSBuild 整合

問題:
適用於 Visual Studio 2026 的 Build With/Out Install (BWOI) MSBuild 整合與先前版本略有不同。在目前的 Visual Studio 2026 版本中,BWOI 實作必須「鎖定」至特定的 VCTargetsPath。結果是所有專案都會以 v145 或 clang-cl 建置,即使 PlatformToolset 值設定為 v142 或 v143 也一樣。在標準 Visual Studio 案例中,這些較舊的工具組通常可以正確建置。
適用於:
  • 2026 年 4 月 GDK
因應措施:
如需因應措施的詳細資訊,請參閱 BWOIExample。
狀態:
GDK 小組和 Visual Studio 小組正在努力於未來的 Visual Studio 版本中解決此問題。
[61855642]

文件

2026 年 4 月版 GDKX 的離線文件會由 GDKX 安裝程式安裝在您的開發電腦上。執行安裝程式之後,GDKX 的說明檔 (gdk.chm) 位於 C:\Program Files (x86)\Microsoft GDK\Documentation。

最後修改於 2026年11月9日