在现有项目中使用 Windows 应用 SDK

如果你有一个WPF、WinForms 或 Win32 桌面项目,你希望在其中使用Windows 应用 SDK的功能,则可以在项目中安装 Windows 应用 SDK NuGet 包。

先决条件

在应用中安装和使用 Windows 应用 SDK NuGet 包之前,请确保满足以下要求:

说明

  1. 在 Visual Studio 中打开现有的 WPF、WinForms 或 Win32 项目。 确保它配置为 Call Windows 运行时 API

  2. 在 Visual Studio 中,打开 NuGet 程序包管理器

    1. 单击 Tools > NuGet 程序包管理器 > 管理解决方案的 NuGet 包...
      –或–
    2. 解决方案资源管理器 中右键单击项目,然后选择 为解决方案管理 NuGet 包...
  3. NuGet 程序包管理器 窗口中,选择 Browse 选项卡并搜索以下包:

    • Microsoft。WindowsAppSDK
  4. 找到相应的Windows 应用 SDK NuGet 包后,选中NuGet 程序包管理器 窗口右侧的框,然后单击要安装包的项目旁边的框,然后单击Install

    正在安装的 Windows 应用 SDK NuGet 包的屏幕截图

    注意

    Windows 应用 SDK NuGet 包包含其他子包(包括 Microsoft.WindowsAppSDK.FoundationMicrosoft.WindowsAppSDK.WinUI 等),这些子包包含Windows 应用 SDK中特定组件的实现。 一般情况下,我们建议安装主Windows 应用 SDK NuGet 包,其中包括所有组件。 在某些情况下,可以单独安装子包,以便仅引用项目中的某些组件。 例如,请参阅 Install 并部署 Windows ML

解压缩应用的其他步骤

如果应用已解压缩(默认使用哪些桌面应用),则使用Windows 应用 SDK需要执行一些其他步骤。

有关 打包解压缩的术语的详细信息,请参阅 打包概述

1. 安装 Windows 应用 SDK 运行时

要在应用运行的任何计算机上安装 Windows 应用 SDK 运行时。

对于开发环境,建议访问 Latest Windows 应用 SDK 下载页面,然后下载、解压缩并运行以下任一项的安装程序:

  • 运行时下载下的最新稳定版本。
  • 与您已安装的Microsoft.WindowsAppSDK NuGet 包的版本和发布通道匹配的运行时的版本和发布通道。

为计算机的体系结构选择适当的安装程序选项。

重要

部署应用后,你将负责将所需的Windows 应用 SDK运行时包部署到最终用户。 有关详细信息,请参阅 Windows 应用 SDK 部署指南,适用于与外部位置打包或未打包的框架依赖应用程序

2.初始化Windows 应用 SDK运行时

默认情况下,已解压缩 WPF、WinForms 或 Win32 桌面应用。 未打包的应用在使用 Windows 应用 SDK 的任何其他功能之前,必须先初始化 Windows 应用 SDK 运行时功能。

当应用通过自动初始化启动时,可以自动执行此操作。

  1. 在“解决方案资源管理器”中,右击项目,然后选择“编辑项目文件”

  2. PropertyGroup元素内部,添加一个WindowsPackageType元素,并设置为None

<WindowsPackageType>None</WindowsPackageType>

生成项目时,这些文件将会在 Visual Studio 中添加到您的项目中。

  • MddBootstrapAutoInitializer.cs
  • WindowsAppSDK-VersionInfo.cs
  1. 手动编辑 .cxproj 文件。

  2. <PropertyGroup Label="Globals"> 元素中,添加一个设为 NoneWindowsPackageType 元素。

<WindowsPackageType>None</WindowsPackageType>

注意

如果您有高级需求(例如自定义错误处理或加载特定版本的 Windows 应用 SDK),则可以显式调用引导程序 API,而不是使用自动初始化。有关详细信息,请参阅使用 Windows 应用 SDK 运行时用于打包到外部位置或未打包的应用教程:在使用 Windows 应用 SDK 的打包到外部位置或未打包的应用中使用引导程序 API

更多信息

如果在尝试使用Windows 应用 SDK组件时遇到类未注册错误,则可能需要将Windows 应用 SDK Framework 包的动态依赖项添加到项目中。 有关详细信息,请参阅 MSIX 框架包和动态依赖项

另请参阅