在現有的專案中使用 Windows 應用程式 SDK

如果你想在桌面專案中使用 Windows 應用程式 SDK,您可以在專案中安裝 Windows 應用程式 SDK NuGet 套件 (最新版本或您需要的任何版本)。 未封裝的應用程式 (也就是不將 MSIX 使用在部署技術中的應用程式) 如果要使用 Windows 應用程式 SDK,就必須按照此程序操作。 不過已封裝的應用程式也可以執行相同操作。

重要

如果您正在處理 UWP 應用程式,請參閱從 UWP 移轉至 Windows 應用程式 SDK (機器翻譯)。

注意

C# .NET 6 (及之後的版本) 專案和 C++ 桌面專案支援此程序。 這些專案類型可以使用穩定發布通道預覽發布通道實驗發布通道中的 NuGet 套件。

必要條件

指示

  1. 開啟 Visual Studio 的現有專案。

    注意

    如果您有 C# 桌面專案,請確定專案檔中的 TargetFramework 元素設為 Windows 10 特定的 Moniker (例如 net6.0-windows10.0.19041.0),以便呼叫 Windows 執行階段 API。 如需詳細資訊,請參閱在桌面應用程式中呼叫 Windows 執行階段 API。 此外,您必須指定 18362 或之後的版本,因為存在著指定 17763 的應用程式會遭到封鎖的已知問題 (請參閱 GitHub 的使用 17763 的 TFM 時發生的組建錯誤)。

  2. 請確認套件參照已啟用:

    1. 在 Visual Studio 中,按一下 [工具]>[NuGet 套件管理員]>[套件管理員設定]。
    2. 請確認「預設套件管理格式」已選取為 [PackageReference]
  3. 以滑鼠右鍵按一下「方案總管」中的專案,然後選擇 [管理 NuGet 套件]

  4. 「NuGet 套件管理員」視窗頂端附近選取 [包含發行前版本] 核取方塊,選取 [瀏覽] 索引標籤,然後搜尋下列其中一個套件:

    • 若要安裝其中一個 1.0 或之後的版本,請搜尋 Microsoft.WindowsAppSDK 套件。
    • 若要安裝其中一個 0.8 版,請搜尋 Microsoft.ProjectReunion 套件。
  5. 找到適用的 Windows 應用程式 SDK NuGet 套件之後,請選取套件,然後按一下「NuGet 套件管理員」視窗右窗格中的 [安裝]

    Screenshot of the Windows App SDK NuGet package being installed

    注意

    Windows 應用程式 SDK NuGet 套件包含的其他子套件 (包括 Microsoft.WindowsAppSDK.FoundationMicrosoft.WindowsAppSDK.WinUI 和其他套件) 內含 Windows 應用程式 SDK 特定元件的實作。 您無法個別安裝這些子套件來參照專案中的特定元件。 您必須安裝包含所有元件的主要 Windows 應用程式 SDK NuGet 套件。

  6. 僅適用於未封裝的應用程式。 在未封裝的應用程式可以使用 Windows 應用程式 SDK API 和元件之前,您的應用程式必須先載入 Windows 應用程式 SDK 執行階段,才能參照 Windows 應用程式 SDK 架構套件。 如需詳細資訊,請參閱將 Windows 應用程式 SDK 執行階段使用在含有外部位置的封裝應用程式或未封裝應用程式,以及教學課程:在使用 Windows 應用程式 SDK 的含外部位置封裝應用程式或未封裝應用程式中使用啟動程序載入程式 API

  7. 您的應用程式現在已可以使用您安裝的發布通道提供的 Windows 應用程式 SDK API 和元件。 如需可用功能的清單,請參閱發布通道

其他資訊

如果您的現有專案是 C++ 專案,而且您想要在 Windows 應用程式 SDK 中呼叫 Windows 執行階段 API,則必須新增 C++/WinRT 的支援功能。 請參閱 C++/WinRT、XAML、VSIX 延伸模組和 NuGet 套件的 Visual Studio 支援。 尋找 Microsoft.Windows.CppWinRT NuGet 套件的相關資訊。 如果沒有該套件,您的專案就無法搜尋 Windows 應用程式 SDK 中的 Windows 執行階段 API 命名空間標頭檔案。

如果您在嘗試使用 Windows 應用程式 SDK元件時遇到「類別未註冊」的錯誤,您可能必須將 Windows 應用程式 SDK 架構套件的動態相依性新增到專案。 如需詳細資訊,請參閱 MSIX 架構套件和動態相依性