Windows 应用 SDK 的预览通道版本说明

重要

预览通道不支持在生产环境中使用,并且无法将使用预览版本的应用发布到 Microsoft Store。

预览通道提供了即将推出的稳定版本的预览。 在给定的预览通道版本和下一个稳定版本之间,可能会存在中断性的 API 变更。 预览通道版本不包含实验性 API。

重要链接

版本 1.3 预览版 1 (1.3.0-preview1)

这是版本 1.3 的预览频道最新版本。 此版本包括 WinAppSDK 中新功能的预览版,以及多个性能、安全性、辅助功能和可靠性 bug 修复。

在稳定通道) 应用中的现有 Windows 应用 SDK 1.2 (中,可以将 Nuget 包更新为 1.3.0-preview1, (请参阅使用 NuGet 包管理器在 Visual Studio 中安装和管理包) 中的更新包部分。

有关更新的运行时和 MSIX,请参阅下载Windows 应用 SDK

XAML 背景 API

借助内置于 XAML 窗口的属性,Mica & 背景亚克力背景现在更易于在 WinUI 3 应用中使用。 有关 Window.SystemBackdrop 属性的详细信息,请参阅 GitHub 上的 Xaml 背景 API 规范

public MainWindow()
{
    this.InitializeComponent();

    this.SystemBackdrop = new MicaBackdrop();
}

Window.AppWindow

替换多行样本代码后,现在可以通过 直接从 WindowWindow.AppWindow使用 AppWindow API。 有关其他背景和使用情况信息,请参阅 GitHub 上的 Window.AppWindow API 规范

WinAppSDK 中的新功能

  • ApplicationModel.DynamicDependencyPackageDependency.PackageGraphRevisionId 替换已弃用的 MddGetGenerationId。
  • 环境管理器: EnvironmentManager.AreChangesTracked 告知你是否能够在应用程序中跟踪环境管理器的更改。 有关详细信息,请参阅 GitHub 上的 环境管理器 API 规范
  • MRT 核心:一个新事件, Application.ResourceManagerInitializing 允许应用提供其自己的接口实现 IResourceManager ,并允许你访问 WinUI 用于解析资源 URI 的 ResourceManager。 有关详细信息,请参阅 GitHub 上的 IResourceManager API 规范
  • 借助最新的实验性 VSIX,现在可以通过 Visual Studio 菜单(而不是在项目文件中)在未打包和打包之间转换应用。
  • 当无法解析引用的 Static/ThemeResource 查找时, DebugSettings.XamlResourceReferenceFailed 将引发一个新事件。 此事件提供对跟踪的访问权限,该跟踪详细说明框架搜索该键的位置,以便更好地调试静态 & ThemeResource 查找失败。 有关详细信息,请参阅 GitHub 上的 API 规范 和问题 497223506073
  • 部署:为了管理和修复 Windows 应用运行时, DeploymentRepairOptions 现已作为 的 DeploymentManager一部分提供。 有关详细信息,请参阅 GitHub 上 部署 API 规范 的修复部分。

已知问题

  • Pivot 控件会导致运行时崩溃并出现 XAML 分析错误。 有关详细信息,请参阅 GitHub 上的问题 #8160
  • 打开 DatePicker 或 TimePicker 浮出控件时,应用崩溃。
  • WindowsAppRuntime.ReleaseInfo 1.3 版本中引入的 和 WindowsAppRuntime.RuntimeInfo API 尚不受支持,因为它们包含严重 bug。

版本 1.2 预览版 2 (1.2.0-preview2)

这是版本 1.2 的预览频道最新版本。

在稳定通道) 应用中的现有 Windows 应用 SDK 1.1 (中,可以将 Nuget 包更新为 1.2.0-preview2, (请参阅使用 NuGet 包管理器在 Visual Studio 中安装和管理包) 中的更新包部分。

有关更新的运行时和 MSIX,请参阅下载Windows 应用 SDK

重要

Visual Studio 2019 和 .NET 5 不再支持生成 C# 应用, (请参阅Windows 应用 SDK 1.2 迁移到 C# WinRT 2.0) 。 需要 Visual Studio 2022 和以下 .NET SDK 版本之一:6.0.401 (或更高版本) 、6.0.304、6.0.109。

若要更新 .NET SDK 版本,请安装最新版本的 Visual Studio 2022 或访问 .NET 下载。 在没有所需 .NET SDK 版本的情况下更新 NuGet 包时,将看到如下错误:“此版本的 WindowsAppSDK 需要 .NET 6+ 版本,WinRT.Runtime.dll版本 2.0 或更高版本。”。 若要将项目从 .NET 5.0 更新到 .NET 6.0,请打开项目文件并将“TargetFramework”更改为 net6.0 ,将“目标 OS 版本”更改为 (适当的值,例如 net6.0-windows10.0.19041.0) 。

Windows 中的第三方小组件

小组件板在 Windows 11 中首次引入,仅限于显示第一方小组件。 小组件是小型 UI 容器,可在小组件板上显示文本和图形,并与设备上安装的应用相关联。 借助 Windows 应用 SDK,作为第三方开发人员,你现在可以为打包的 Win32 应用创建小组件,并在Windows 11小组件板上本地测试它们。

有关小组件的详细信息,检查小组件概述

若要开始为应用开发小组件,检查小组件服务提供商开发文档和小组件设计基础知识,了解先决条件、指南和最佳做法。

此版本的先决条件包括:

  • 在开发计算机上启用开发人员模式。
  • 开发计算机运行 Windows 预览体验计划开发人员频道中的 Windows 版本 (WIP) ,小组件板版本为 521.20060.1205.0 或更高版本。

开发小组件时的已知限制

  • 只能在在此预览版的 WIP 中注册的设备本地测试第三方小组件。 在 Windows 应用 SDK 1.2.0 中,Windows 零售版本的用户可以开始通过 Microsoft Store 随附的应用版本获取 3P 小组件。
  • 只能为打包的 Win32 应用创建小组件。 Microsoft Edge 108 计划支持渐进式Web 应用 (PWA) 的小组件。

剪裁使用 .NET 开发的应用

.NET 开发人员现在可以发布经过剪裁的 WinAppSDK 应用。 使用 CsWinRT 2.0 时,在 WinAppSDK 中分发的 C#/WinRT 投影现在可以剪裁。 通过从可剪裁的二进制文件中删除任何未使用的代码,发布剪裁的应用可以减少应用的磁盘占用量。 应用还可能会看到启动性能改进。 使用基本Hello World应用时,我们看到了约 80% 的磁盘占用空间改进,在剪裁发布时,启动性能提高了约 7%。 使用 WinUI 库时,我们看到了大约 45% 的磁盘占用空间改进。

有关如何启用剪裁、剪裁限制 ((如针对可剪裁类型) 的反射)和剪裁警告的更多详细信息,请参阅 剪裁自包含部署和可执行文件。 开发人员应在剪裁后全面测试其应用,以确保一切按预期工作。 有关详细信息,检查 GitHub 上的问题 2478

DisplayInformation

Win32 应用现在可以通过 WinAppSDK 中的 DisplayInformation 类支持高动态范围 (HDR) 。 使用 DisplayInformation 类,可以监视应用程序视图的显示相关信息。 这包括允许客户端监视应用程序视图中的更改的事件,这些更改会影响视图) 所在的显示 (,以及可能影响应用程序视图的显示器中的更改。

修复了 WinUI 3 中的问题

  • Windows 10应用中现在支持通过 DesktopAcrylicController 使用亚克力背景材料。 有关详细信息,检查 GitHub 上的问题 7112
  • 修复了导致 App.UnhandledException 无法路由到应用程序的问题。 有关详细信息,检查 GitHub 上的问题 5221
  • 修复了导致 ListView 样式从 WinAppSDK 1.1 回归和更改的问题。 有关详细信息,检查 GitHub 上的问题 7666

其他限制和已知问题

重要

从项目引用 WinAppSDK 1.2 时,可能会看到类似于“检测到包降级:Microsoft.Windows.SDK.BuildTools 从 10.0.22621.1 升级到 10.0.22000.194”的错误,这是由于应用项目和 WinAppSDK 包中对包的引用不兼容导致的。 若要解决此问题,可以将项目中的引用更新为较新且兼容的 Microsoft.Windows.SDK.BuildTools 版本,或者只需从项目中删除引用。 如果将其从项目中删除,WinAppSDK 包将隐式引用兼容版本。

  • 当前不支持使用 Arm64 Visual Studio 生成。
  • bootstrapper 和 Undocked RegFree WinRT 自动初始值设定项默认值现在 () 仅针对生成可执行文件 (OutputType=Exe 或 WinExe) 的项目设置。 默认情况下,这会阻止将自动初始值设定项添加到类库 DLL 和其他非可执行文件中。
    • 如果需要在非可执行 ((例如,由不初始化引导程序) 的泛型可执行文件加载的测试 DLL)中需要自动初始化表达式,则可以通过 <WindowsAppSdkBootstrapInitialize>true</WindowsAppSdkBootstrapInitialize><WindowsAppSdkUndockedRegFreeWinRTInitialize>true</WindowsAppSdkUndockedRegFreeWinRTInitialize>在项目中显式启用自动初始值设定项。
  • 可以调用 ReleaseInfo 和 RuntimeInfo) (版本信息 API,但返回版本 0 (而不是) 的实际版本信息。

版本 1.2 预览版 1 (1.2.0-preview1)

在稳定通道) 应用的现有 Windows 应用 SDK 1.1 (中,可以将 Nuget 包更新为 1.2.0-preview1, (请参阅使用 NuGet 包管理器在 Visual Studio 中安装和管理包) 中的更新包部分。

有关更新的运行时和 MSIX,请参阅下载Windows 应用 SDK

WinUI 3

WinUI 3 应用可以使用 MediaPlayerElementMediaTransportControls 媒体播放控件播放音频和视频。 有关媒体控件的使用方式和时间的详细信息,请参阅 媒体播放器

WinUI 3 已使用 WinUI 2.8 中的最新控件、样式和行为进行了更新。 这些更新包括添加 InfoBadge 控件、对辅助功能和高对比度模式的改进,以及跨控件的 bug 修复。 有关更多详细信息,请参阅 WinUI 2.7WinUI 2.8 的发行说明。

已知问题

从 WinAppSDK 1.1 回归和更改的 ListView 样式。

通知

作为 XML 有效负载的替代项引入的 AppNotificationBuilder,用于创建和定义应用通知。

有关使用情况信息,请参阅 GitHub 上的 AppNotificationBuilder 规范

另请参阅快速入门:Windows 应用 SDK中的应用通知,了解如何创建发送和接收本地应用通知的桌面 Windows 应用程序。

重大更改

对于推送通知,在发出通道请求调用时,应用需要使用 Azure 对象 ID 而不是Azure 应用 ID。 有关查找 Azure 对象 ID 的详细信息,请参阅快速入门:Windows 应用 SDK中的推送通知

修复的问题

PushNotificationManager.IsSupported 将为提升的模式执行检查。 如果应用提升,它将返回 false

通知) (已知限制

窗口化

现在可通过 AppWindowTitleBar 类在 Windows 10 版本 1809 和更高版本上提供完整的标题栏自定义。 可以将 AppWindowTitleBar.ExtendsContentIntoTitleBar 设置为 以 true 将内容扩展到标题栏区域,将 SetDragRectangles 设置为以定义拖动区域 (以及) 其他自定义选项。

如果一直使用 AppWindowTitleBar.IsCustomizationSupported 属性来检查是否可以调用 AppWindowTitleBar API,它将在 (1809 及更高版本的支持Windows 应用 SDK Windows 10) 返回true

开窗) (已知限制

Windows 10不支持简单的标题栏自定义。 其中包括 BackgroundColorInactiveBackgroundColorForegroundColorInactiveForegroundColorIconShowOptions。 如果调用这些属性,则会以无提示方式忽略它们。 所有其他 AppWindowTitleBar API 在 Windows 10 版本 1809 及更高版本中工作。 对于 () 和 Height 等描述文字按钮颜色 API,ExtendsContentIntoTitleBar 必须设置为 true,否则它们也将以静默方式忽略。

访问控制

通过 GetSecurityDescriptorForAppContainerNames 函数引入了 security.accesscontrol.h,以简化打包进程和常规 Win32 API 之间的命名对象共享。 此方法采用包系列名称列表 (PPN) 和访问掩码,并返回安全描述符。 有关详细信息,请参阅 GitHub 上的 GetSecurityDescriptorForAppContainerNames 规范

其他限制和已知问题

  • 不支持 .NET PublishSingleFile。

版本 1.1 预览版 3 (1.1.0-preview3)

这是版本 1.1 的预览频道的最新版本。 它支持所有预览频道功能 (请参阅 发布频道) 提供的功能

在使用 Windows 应用 SDK 1.0 的现有应用中,可以将 Nuget 包更新为 1.1.0-preview3, (请参阅使用 NuGet 包管理器在 Visual Studio 中安装和管理包) 更新包部分。 此外,请参阅下载更新的运行时和 MSIX 的Windows 应用 SDK。

注意

C# 开发人员需要使用以下 .NET SDK 版本之一(或更高版本):6.0.202、6.0.104、5.0.407、5.0.213。 若要更新 .NET SDK 版本,请访问 .NET 下载或更新到最新版本的 Visual Studio。 在没有所需 .NET SDK 版本的情况下更新 NuGet 包时,你会看到如下错误:“此 WindowsAppSDK 版本需要 WinRT.Runtime.dll 版本 1.6 或更高版本。”

除了所有 预览版 2 功能外,以下部分还介绍了此版本的新功能和更新功能、限制和已知问题。

WinUI 3

Mica 和 Background Acrylic 现已可用于 WinUI 3 应用程序。

有关这些材料的详细信息,请在 Windows 11 中检查材料。 请查看有关在 C++ 应用程序中应用 Mica 的示例代码,请参阅将 SystemBackdropController 与 WinUI 3 XAMLGitHub 上的 C# 应用程序中作为 WinUI 控件库的一部分在 C# 应用程序中使用。

通知

已解决的问题:

  • 在 1.1.0-preview1 和 1.1.0-preview2 中,某些未打包的应用图标将错误地复制到 AppData\LocalMicrosoftWindowsAppSDK。 对于此版本,它们将改为复制到 AppData\Local\Microsoft\WindowsAppSDK。 为了避免泄露图标,应在更新到 1.1.0-preview3 后手动删除错误路径中的应用图标。
  • 现在支持通过快捷方式检索应用通知的应用图标和应用显示名称。 此应用图标优先于资源文件中指定的任何图标。
  • 已还原对未打包应用的推送通知的支持, (请参阅已注意到的异常) 的限制 。 我们引入了 PushNotificationManager::IsSupported API,以检查你的应用是否支持推送通知。

限制:

  • 不支持 针对提升的 未打包应用的通知。 PushNotificationManager::IsSupported 不会对提升模式执行检查。 但是,我们正在努力在将来的版本中支持此功能。

MSIX 打包

我们增强了 MSIX,通过扩展类别添加新功能并扩展现有功能:

  • windows.appExecutionAlias
  • windows.customDesktopEventLog
  • windows.dataShortcuts
  • windows.fileTypeAssociation
  • windows.fileTypeAssociation.iconHandler
  • windows.folder
  • windows.shortcut

这些要求安装 Windows 应用 SDK 框架包。 若要安装运行时,请参阅下载Windows 应用 SDK

环境管理器

允许开发人员添加、删除和修改环境变量而无需直接使用注册表 API 的 API 集。

1.1 预览版 1 中的说明:卸载使用环境管理器的应用时自动删除任何环境变量更改,仅适用于打包的应用。 此外,还原环境变量更改需要安装 Windows 应用 SDK 框架包,请参阅下载以获取运行时Windows 应用 SDK

其他已知限制

从 1.1 预览版 2 回归:

  • 对于使用 MRT 核心 API 的 .NET 应用和不使用单项目 MSIX 进行部署 WinUI 应用:
    • 作为现有项添加到项目的 RESW 和图像文件以及以前分别自动包含在 PRIResource 和 Content ItemGroups 中的 RESW 和图像文件将不会包含在这些 ItemGroup 中。 因此,这些资源在 PRI 生成期间不会编制索引,因此在运行时不可用。
      • 解决方法:手动在项目文件中包括资源,并将其从 None ItemGroup 中删除。
      • 替代解决方法:如果可用,请将应用的 .NET SDK 升级到 6.0.300。 有关其他信息 ,请参阅 .NET SDK 的版本要求
  • 对于不使用单项目 MSIX 进行部署 .NET 应用:
    • 如果将文件添加到内容项组两次或更多,则会出现生成错误。
      • 解决方法:在项目文件中删除重复的 inclusion/s 或将 EnableDefaultContentItems 设置为 false。

这两个回归都将在下一个稳定版本中还原。

版本 1.1 预览版 2 (1.1.0-preview2)

这是版本 1.1 的预览通道的第二个版本。 它支持所有预览频道功能 (请参阅 发布频道) 提供的功能

在使用 Windows 应用 SDK 1.0 的现有应用中,可以将 Nuget 包更新为 1.1.0-preview2 (请参阅使用 NuGet 包管理器在 Visual Studio 中安装和管理包) 中的更新包部分。 此外,请参阅下载更新的运行时和 MSIX 的Windows 应用 SDK。

注意

C# 开发人员需要使用以下 .NET SDK 版本之一(或更高版本):6.0.202、6.0.104、5.0.407、5.0.213。 若要更新 .NET SDK 版本,请访问 .NET 下载或更新到最新版本的 Visual Studio。 在没有所需 .NET SDK 版本的情况下更新 NuGet 包时,你会看到如下错误:“此 WindowsAppSDK 版本需要 WinRT.Runtime.dll 版本 1.6 或更高版本。”

除了所有 预览版 1 功能外,以下部分还介绍了此版本的新功能和更新功能、限制和已知问题。

通知

已解决的问题:

  • 如果图标是应用资源的一部分,则未发送通知的包标识的应用现在将在通知中看到其应用图标。 如果应用资源没有图标,则使用 Windows 默认应用图标。
  • 未运行的 WinUI 3 应用现在可以通过通知在后台激活。

从 1.1 预览版 1 回归: 推送通知支持未打包的应用。 预期将在下一个版本中还原。

已知限制:

  • 我们引入了 PushNotificationManager::IsSupported API,以检查自包含应用是否支持推送通知。 但是,此 API 尚未按预期工作,因此请在下一个预览版本中留意 IsSupported API 的完全支持。
  • 某些未打包的应用将看到其应用图标错误地复制到 AppData\LocalMicrosoftWindowsAppSDK。 对于下一个版本,它们将改为复制到 AppData\Local\Microsoft\WindowsAppSDK。 为了避免泄露图标,开发人员应在升级到下一版本后手动删除其应用图标,该图标位于错误路径。
  • 不支持通过快捷方式检索通知的应用图标和应用显示名称。 但我们正在努力在将来的版本中支持这一点。

部署

新功能:

已知限制:

  • 独立部署仅在 Windows 10 1903 及更高版本上受支持。

窗口化

为了更轻松地编程访问在 USER32.dll (中实现的功能,请参阅 Windows 和消息) ,此版本在 AppWindow 本身中提供了更多该功能。

新功能:

  • 通过调用 AppWindow.ShowOnceWithRequestedStartupState(等效 ShowWindow(SW_SHOWDEFAULT)于 ),具有现有窗口的应用可以更好地控制窗口的显示方式。
  • 应用可以显示、最小化或还原窗口,并指定是否应在调用时激活窗口。
  • 应用现在可以在 Win32 坐标中设置窗口的工作区大小。
  • 我们添加了 API 以支持 Windows 的 z 顺序管理。
  • 使用 AppWindowTitleBar.ExtendsContentIntoTitleBar 绘制自定义标题栏的应用可以设置 PreferredTitleBarHeight 选项。 可以选择 标准高度 标题栏,也可以选择为交互式内容提供更多空间 的高 标题栏。 有关何时使用高 标题栏 的建议,请参阅 Fluent 设计指南中的标题栏。

已知限制:

  • 高标题栏支持仅适用于Windows 11。 我们正在努力将此级别与其他自定义标题栏 API 一起降低。

WinUI 3

修复了以下问题

  • 修复了通过将 WebView2 SDK 从 1020.46 升级到 1185.39,在未安装 C/C++ 运行时 (CRT) 时导致带有 WebView2 的 C# 应用在启动时崩溃的问题。
  • 修复了导致某些圆角应为纯色时显示渐变的问题。 有关详细信息,请参阅 GitHub 上 的问题 6076&问题 6194
  • 修复了 generic.xaml 中缺少更新的样式的问题。
  • 修复了在滚动到 ListView 末尾时导致应用崩溃的布局循环问题。 有关详细信息,请参阅 GitHub 上的问题 6218

性能

C# 应用程序具有多项性能改进。 有关详细信息,请参阅 C#/WinRT 1.6.1 发行说明

版本 1.1 预览版 1 (1.1.0-preview1)

这是版本 1.1 的预览通道的第一个版本。 它支持所有预览频道功能 (请参阅 发布频道) 提供的功能

在使用 Windows 应用 SDK 1.0 的现有应用中,可以将 Nuget 包更新为 1.1.0-preview1 (请参阅使用 NuGet 包管理器在 Visual Studio 中安装和管理包) 中的更新包部分。 此外,请参阅下载更新的运行时和 MSIX 的Windows 应用 SDK。

以下部分介绍此版本的新功能、更新功能、限制和已知问题。

WinUI 3

已知问题:启用拖放时,用户无法删除元素。

提升 (管理员) 支持

使用 Windows 应用 SDK 1.1 预览版 1,应用 ((包括 WinUI 3) )将能够使用提升的权限运行。

重要限制

  • 目前仅在 Windows 11 上可用。 但是,我们正在评估在更高版本中将这种支持降低到下层。

已知问题

  • 在拖放交互期间拖动元素时,WinUI 3 应用崩溃。

独立部署

Windows 应用 SDK 1.1 将引入对独立部署的支持。 我们的 部署概述 详细介绍了依赖于框架的部署和独立部署之间的差异,以及如何入门。

已知问题:

  • 打包的 C++ 应用需要将以下内容添加到其项目文件底部,以解决独立 .targets 文件中删除对 VCLibs 的框架引用的 bug:

    <PropertyGroup>
        <IncludeGetResolvedSDKReferences>true</IncludeGetResolvedSDKReferences>
    </PropertyGroup>
    
    <Target Name="_RemoveFrameworkReferences"
        BeforeTargets="_ConvertItems;_CalculateInputsForGenerateCurrentProjectAppxManifest">
        <ItemGroup>
            <FrameworkSdkReference Remove="@(FrameworkSdkReference)" Condition="'%(FrameworkSdkReference.SDKName)' == 'Microsoft.WindowsAppRuntime.1.1-preview1'" />
        </ItemGroup>
    </Target>
    
  • 仅在 Windows 10 1903 及更高版本上受支持。

通知

打包 ((包括使用外部位置打包) 和未打包的应用)的开发人员现在可以发送 Windows 通知。

新功能:

  • 支持已打包和未打包的应用的应用通知。 GitHub 上的完整详细信息
    • 开发人员可以在本地或从其自己的云服务发送应用通知(也称为 Toast 通知)。
  • 支持已打包和未打包的应用的推送通知。 GitHub 上的完整详细信息
    • 开发人员可以从自己的云服务发送原始通知或应用通知。

限制:

  • 作为独立应用发布的应用可能不支持推送通知。 请留意 IsSupported API 的下一个预览版本,以检查推送通知支持。
  • 未打包发送应用通知的应用将不会在应用通知中看到其应用图标,除非它们是控制台应用程序。 未打包的控制台应用应遵循 ToastNotificationsDemoApp 示例中显示的模式。
  • Windows 应用 SDK运行时必须安装以支持推送通知,请参阅安装程序Windows 应用 SDK下载。
  • 未运行的 WinUI 3 应用无法通过通知在后台激活。 但我们正在努力在将来的版本中支持这一点。

环境管理器

允许开发人员添加、删除和修改环境变量而无需直接使用注册表 API 的 API 集。

新功能

  • 在卸载使用环境管理器的应用时自动删除任何环境变量更改。

限制

  • 目前在 C# 应用中不可用。 但我们正在评估在更高版本中将此功能引入 C# 应用。

其他限制和已知问题

  • 如果使用 C# 和 1.1.0 预览版 1,则必须至少使用以下 .NET SDK 版本之一:.NET SDK 6.0.201、6.0.103、5.0.212 或 5.0.406。 若要升级 .NET SDK,可以更新到最新版本的 Visual Studio,或访问 下载 .NET

版本 1.0 预览版 3 (1.0.0-preview3)

预览版 3 是适用于 1.0 版 Windows 应用 SDK 的通道最新预览版。 预览版 3 支持所有预览通道功能

下载 1.0 预览版 3 Visual Studio 扩展 (VSIX)

注意

如果已安装 Windows 应用 SDK Visual Studio (VSIX) 扩展,则在安装新版本之前卸载这些扩展。 有关说明,请参阅管理 Visual Studio 的扩展

可以从下表中下载 1.0 预览版 3 版本的 Visual Studio 扩展 (VSIX)。 对于所有版本,请参阅 Windows 应用 SDK 的下载。 如果尚未这样做,请首先配置开发环境,并按照为Windows 应用 SDK安装工具中的步骤配置开发环境。

以下扩展适用于编程语言和 Visual Studio 版本。

1.0 预览版 3 下载 说明
C# Visual Studio 2019 扩展 使用 Windows 应用 SDK Visual Studio 2019 扩展生成 C# 应用。
C++ Visual Studio 2019 扩展 使用 Windows 应用 SDK Visual Studio 2019 扩展生成 C++ 应用。
C# Visual Studio 2022 扩展 使用 Windows 应用 SDK Visual Studio 2022 扩展生成 C# 应用。
C++ Visual Studio 2022 扩展 使用 Windows 应用 SDK Visual Studio 2022 扩展生成 C++ 应用。
.exe 安装程序,和 MSIX 包 使用 .exe 安装程序和 MSIX 包将 Windows 应用 SDK 部署到应用。

以下部分介绍 1.0 预览版 3 的新功能和更新功能、限制和已知问题。

WinUI 3

我们现在支持部署 WinUI 3 应用,而无需 MSIX 打包。 请参阅 创建第一个 WinUI 3 项目 ,将 WinUI 3 应用程序配置为支持未打包部署。

重要限制

  • 仅 Windows 版本 1909 及更高版本支持未打包的 WinUI 3 应用程序。
  • x86 和 x64 支持未打包的 WinUI 3 应用程序;下一个稳定版本将添加 arm64 支持。
  • 对于未打包的应用程序,Visual Studio 2019Visual Studio 2022单项目 MSIX 打包工具是必需的。
  • 在未打包的应用中,你可能会收到安装 .NET 3.5 的提示;如果已这样做,则可以将其忽略。
  • 某些 API 目前在未打包的应用中不受支持。 我们将在下一个稳定版本中修复此问题。 一些示例:
  • ListView、CalendarView 和 GridView 控件使用的样式不正确,我们将在下一个稳定版本中修复此问题。

有关详细信息,或开始使用 WinUI 3 进行开发,请参阅:

其他限制和已知问题

  • Windows 10 版本 1809 不支持未打包的应用。 我们将在稳定通道的下一版本中修复此问题。

  • 如果未安装 C++ UWP 工具,C# 单项目 MSIX 应用不会编译。 如果有 C# 单项目 MSIX 项目,则需要安装 C++ (v14x) 通用 Windows 平台工具可选组件。

  • 此版本引入了适用于 C# 和 C++ 的打包的空白应用(桌面版 WinUI 3)项目模板。 使用这些模板,无需使用单独的打包项目,即可将应用生成到 MSIX 包中(请参阅使用单项目 MSIX 打包应用)。 在此版本中,这些模板有一些已知问题:

    • 在重新启动 Visual Studio 之前,缺少发布菜单项。 当使用“打包的空白应用(桌面版 WinUI 3)”项目模板在 Visual Studio 2019 和 Visual Studio 2022 中创建新应用时,关闭并重新打开 Visual Studio 之前,将不会在菜单中显示用于发布项目的命令。

    • 使用单项目 MSIX 打包向 C++ 应用添加 C++ 静态/动态库项目引用时出错。 Visual Studio 显示错误消息,指出由于项目类型不兼容,无法将项目添加为引用。

    • 引用类库项目中的自定义用户控件时出错。 如果系统找不到指定的路径,应用程序将崩溃并出现错误。

    • 用于 Visual Studio 2019 的 C# 或 C++ 模板。 当尝试生成项目时,将遇到“项目不知道如何运行配置文件项目名称”的错误。 若要解决此问题,请安装单项目 MSIX 打包工具扩展

    • 适用于 2019 Visual Studio 和 2022 Visual Studio 的 C# 模板。 在 Visual Studio 中,当“开始调试”或“启动而不调试”时,如果应用未部署并运行(并且没有来自 Visual Studio 的反馈),请单击“解决方案资源管理器”中的项目节点将其选中,然后重试。

    • 适用于 2019 Visual Studio 和 2022 Visual Studio 的 C# 模板。 在开发计算机上尝试运行或调试项目时,会遇到以下错误:“需要先部署项目,然后才能进行调试。 请在配置管理器中启用部署。若要解决此问题,请在“配置管理器”中为项目启用部署。 有关详细说明,请参阅 创建第一个 WinUI 3 项目

    • 适用于 Visual Studio 2022 版本 17.0(版本最高可达预览版 4)的 C++ 模板。 首次尝试运行项目时,将遇到以下错误:“存在部署错误”。 若要解决此问题,请再次运行或部署项目。 此问题将在 Visual Studio 2022 版本 17.0 预览版 7 中得到修复。

  • 不支持任何 CPU 生成配置添加 Windows 应用 SDK 到支持任何 CPU 的现有 .NET 应用程序或组件时,必须指定所需的体系结构:x86x64arm64

  • 使用 1.0 预览版 3 的 C# 项目必须使用以下 .NET SDK:.NET 6 SDK 或更高版本 (请参阅 下载 .NET.NET 5 将于 2022 年 5 月 10 日终止支持) 。

  • DispatcherQueue.TryEnqueue(用于在调度程序队列线程上恢复执行)的替代方法是,使用 Windows 实现库 (WIL) 中的 resume_foreground Helper 函数:

    1. 将对项目的引用添加到Microsoft.Windows.ImplementationLibrary NuGet 包。
    2. #include <wil/cppwinrt_helpers.h> 添加到 pch.h
    3. #include <winrt/Microsoft.UI.Dispatching.h> 添加到 pch.h
    4. 立即co_await wil::resume_foreground(your_dispatcherqueue);

影响 1.0 预览版 1 和预览版 2 的重要问题

Windows 应用 SDK 的 1.0 版预览版 1 和预览版 2 包含一种机制,可用于清理打包应用在卸载该应用时所做的任何环境变量更改。 此功能处于实验状态,第一个版本包含可能损坏系统“PATH”环境变量的已知 bug。

预览版 1 和预览版 2 损坏了包含扩展字符 % 的任何“PATH”环境变量。 每当卸载任何打包应用时,无论该应用是否使用 Windows 应用 SDK,都会发生这种情况。

另请参阅PATH 环境变量损坏问题

详细信息

系统“PATH”项存储在 Windows 注册表中以下项的“路径”值中:

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

如果启动注册表编辑器 (regedit.exe),则可以将上面的路径复制并粘贴到痕迹导航栏(菜单栏正下方)中,然后按 Enter 键找到该项。

该键的“Path”值应该为“REG_EXPAND_SZ”类型,但 Bug 会将其更改为“REG_SZ”。 这会使系统“PATH”环境变量在包含变量扩展字符 % 时不可用。

受影响的版本

缓解措施

若要使计算机恢复为良好状态,请执行以下步骤:

  1. 检查注册表中的“PATH”是否已损坏,如果是,请运行以下脚本来重置它。

    可以使用以下 Windows PowerShell 脚本完成步骤 1(PowerShell Core 将停用)。 以提升权限运行。

    # This script must be run from an elevated Windows PowerShell
    # window (right-click Windows PowerShell in the Start menu,
    # and select Run as Administrator).
    
    # If the PATH in the Registry has been set to REG_SZ, then delete
    # it, and recreate it as REG_EXPAND_SZ.
    
    $EnvPath = 'Registry::HKLM\System\CurrentControlSet\Control\Session Manager\Environment'
    $Environment=Get-Item $EnvPath
    $PathKind = $Environment.GetValueKind('Path')
    
    if ($PathKind -ne 'ExpandString') {
      $Path = $Environment.GetValue('Path')
      Remove-ItemProperty $EnvPath -Name Path
      New-ItemProperty $EnvPath -Name Path -PropertyType ExpandString -Value $Path
    }
    
  2. 卸载使用 Windows 应用 SDK 1.0 预览版 1 或 预览版 2 的所有应用(请参阅以下脚本)。

  3. 卸载 Windows 应用 SDK 1.0 预览版 1/预览版 2 包,包括包含 bug 的包(请参阅以下脚本)。

    可以使用以下 Windows PowerShell 脚本完成步骤 2 和 3(PowerShell Core 将停用)。 以提升权限运行。

    # This script must be run from an elevated Windows PowerShell
    # window (right-click Windows PowerShell in the Start menu,
    # and select Run as Administrator).
    
    # Remove the Windows App SDK 1.0 Preview1/2, and all apps that use it.
    
    $winappsdk = "Microsoft.WindowsAppRuntime.1.0-preview*"
    Get-AppxPackage | Where-Object { $_.Dependencies -like $winappsdk } | Remove-AppxPackage
    Get-AppxPackage $winappsdk | Remove-AppxPackage
    

修复了 Windows 应用 SDK 1.0 预览版 3 的问题

在即将推出的 Windows 应用 SDK 1.0 预览版 3 中将删除导致“PATH”环境变量损坏的功能。 在修复并全面测试所有 bug 后,几天后可能会再进行更新。

建议使用版本 1.0 预览版 3

版本 1.0 预览版 2 (1.0.0-preview2)

重要

版本 1.0 预览版 1 和预览版 2 存在严重 bug。 如果已安装其中一个预览版,请参阅如何解决此问题。 建议改为使用版本 1.0 预览版 3

这是 1.0 版预览版通道的最新版本。 它支持所有预览通道功能

以下部分介绍此版本的新功能、更新功能、限制和已知问题。

WinUI 3

新更新

  • 控件已更新,以反映 WinUI 2.6 的最新 Windows 样式。
  • 支持单项目 MSIX。
  • WinUI 3 包现在可以面向内部版本 17763 及更高版本。 有关详细信息,请参阅问题 #921
  • 支持应用内工具栏。 但是,应用内工具栏和现有的热重载/实时可视化树支持需要即将推出的 Visual Studio 17.0 预览版 5 版本(10 月即将提供)。

Bug 已修复:WebView2Runtime 文本现已本地化。

有关详细信息或开始使用 WinUI 3 进行开发,请参阅:

窗口化

此版本引入了 AppWindow 类的更新。 此版本中未添加任何主要新功能,但方法名称、属性发生了更改,并且删除了一些返回值。 有关详细更新,请参阅文档和示例。 如果在 1.0 实验版或 1.0 预览版 1 版本中使用 AppWindow,则代码会进行一些更改。

新更新

  • AppWindowConfiguration 类已删除。 此类的属性现在可用于 AppWindow 本身或“Presenter”类。
  • 此空间中 WinRT API 方法大多数 bool 返回值已删除,现在为 void,因为这些方法始终会成功。
  • GetWindowIdFromWindowGetWindowFromWindowId 不再需要 C# ImportDll 调用。 请改用 Microsoft.UI.Win32Interop 类中提供的 .NET 包装器方法。

重要限制

  • Windows 应用 SDK 当前不提供将 UI 框架内容附加到 AppWindow 的方法,只能使用 HWND 互操作访问方法。
  • 窗口标题栏自定义仅适用于 Windows 11。 使用 IsCustomizationSupported 方法检查标题栏自定义功能支持。 我们计划将此功能降级。

有关详细信息,请参阅管理应用窗口

输入

新更新

  • 改进了对精度触摸板输入的支持。

重要限制

  • 已删除所有 PointerPoint静态工厂函数:GetCurrentPointGetCurrentPointTransformedGetIntermediatePointsGetIntermediatePointsTransformed
  • Windows 应用 SDK 不支持检索具有指针 ID 的“PointerPoint”对象。 相反,可以使用“PointerPoint”成员函数“GetTransformedPoint”,检索现有“PointerPoint”对象的转换版本。 对于中间点,可以使用“PointerEventArgs”成员函数 GetIntermediatePointsGetTransformedIntermediatePoints。 有关更多详细信息,请参阅文档。

MRT 核心

新更新

  • 应用开发人员现在可以选择不在 .NET 项目的 PRI 文件中为图像文件或 RESW 文件编制索引。 有关详细信息,请参阅问题 980

重要限制

  • 在 .NET 项目中,如果已生成应用,则复制粘贴到项目文件夹中的资源文件不会在 F5 上编制索引。 解决方法是重新生成应用。 有关详细信息,请参阅问题 1503]
  • 在 .NET 项目中,如果不手动设置生成操作,则不会对从外部文件夹添加的现有资源文件编制索引。 若要解决此问题,请在 Visual Studio 中设置生成操作:图像文件的“内容”和 RESW 文件的“PRIResource”。 有关详细信息,请参阅问题 1504

适用于未打包应用的部署

新增功能

  • Windows 应用 SDK 1.0 预览版 2 为引导程序 API 引入了 .NET 包装器, (请参阅将Windows 应用 SDK运行时用于使用外部位置打包的应用或未打包) 。 引导程序 API 是一组本机 C/C++ 函数,解包应用必须使用这些函数在运行时动态获取 Windows 应用 SDK 框架包的依赖项。 .NET 包装器提供了一种从 .NET 应用(包括 Windows 窗体和 WPF 应用)调用引导程序 API 的更简单方法。 引导程序 API 的 .NET 包装器在应用项目的本地程序集 Microsoft.WindowsAppRuntime.Bootstrap.Net.dll 中可用。 有关 .NET 包装器详细信息,请参阅 .NET 包装器库
  • 打包应用现在可以使用部署 API 获取计算机上安装的主和单独 MSIX 包。 主包和单独包是随应用一起安装的框架包的一部分,但由于 Windows 应用程序模型存在限制,打包应用需要执行此附加步骤才能安装这些包。 有关部署 API 的工作原理的详细信息,请参阅Windows 应用 SDK依赖框架的打包应用的部署指南

重要限制

  • 仅用于引导程序 API 的 .NET 包装器仅供未打包的 .NET 应用程序使用,以简化对 Windows 应用 SDK 的访问。
  • 只有完全信任或具有 packageManagement 受限功能的 MSIX 应用包才有权使用部署 API 来安装主包和单独包依赖项。 对部分信任打包音乐的支持将在后面的版本中推出。
  • 当 F5 在 x64 系统上测试使用 DeploymentManager.Initialize 方法的 x86 应用时,请确保首先通过运行 WindowsAppRuntimeInstall.exe 安装 x64 框架。 否则,由于 Visual Studio 未部署 x64 框架(通常通过应用商店部署或旁加载发生),你将遇到 NOT_FOUND 错误。

应用生命周期

UWP 平台中已经存在大多数应用生命周期功能,并已将其引入 Windows 应用 SDK 以供桌面应用类型使用,特别是未封装的主机应用、Win32 应用、Windows 窗体应用和 WPF 应用。 这些功能的 Windows 应用 SDK 实现不能在 UWP 应用中使用,因为 UWP 平台本身中存在等效功能。

非 UWP 应用也可以打包到 MSIX 包中。 虽然这些应用可以使用某些 Windows 应用 SDK 应用生命周期功能,但必须使用可用的清单方法。 例如,无法使用 Windows 应用 SDK“RegisterForXXXActivation”API,而必须改为通过清单注册丰富激活。

打包应用的所有约束也适用于打包的 WinUI 3 应用;还有如下所述的其他注意事项。

重要注意事项

  • 丰富激活:GetActivatedEventArgs

  • 注册/注销丰富激活

    • 未打包应用:完全可用。
    • 打包应用:不可用,请改用应用的 MSIX 清单。
    • 有关详细信息,请参阅丰富激活
  • 单/多实例化

    • 未打包应用:完全可用。
    • 打包应用:完全可用。
    • WinUI 3 应用:如果应用想要检测其他实例并重定向激活,则必须在初始化任何窗口之前尽早执行此操作,等等。若要启用此功能,应用必须定义DISABLE_XAML_GENERATED_MAIN,并在其中编写自定义 Main (C#) 或 WinMain (C++) 。。
    • RedirectActivationToAsync 是异步调用,并且如果应用在 STA 中运行,则不应等待异步调用。 对于 Windows 窗体 和 C# WinUI 3 应用,可以根据需要将 Main 声明为异步。 对于 C++ WinUI 3 和 C# WPF 应用,不能将 Main 声明为异步,因此需要将重定向调用移到另一个线程,以确保不会阻止 STA。
    • 有关详细信息,请参阅应用实例化
  • 电源/状态通知

    • 未打包应用:完全可用。
    • 打包应用:完全可用。
    • 有关详细信息,请参阅电源管理

已知问题

在设置 Verb 处理程序的命令行模板时,文件类型关联将 %1 错误地编码为 %251,这会导致未打包的 Win32 应用崩溃。 可以手动将注册表值编辑为 %1,作为部分解决方法。 如果目标文件路径中具有空格,则它仍将失败,并且没有针对该方案的解决方法。

其他限制和已知问题

  • 版本 1.0 预览版 1 和预览版 2 存在严重 bug。 如果已安装其中一个预览版,请参阅如何解决此问题。 建议改为使用版本 1.0 预览版 3

  • 此版本引入了适用于 C# 和 C++ 项目的打包的空白应用(桌面版 WinUI 3)模板。 使用这些模板,无需使用单独的打包项目,即可将应用生成到 MSIX 包中。 在此版本中,这些模板有一些已知问题:

    • 适用于 2019 Visual Studio 的 C# 模板。 当尝试生成项目时,将遇到“项目不知道如何运行配置文件项目名称”的错误。 若要解决此问题,请安装单项目 MSIX 打包工具扩展

    • 适用于 2019 Visual Studio 和 2022 Visual Studio 的 C# 模板。 在开发计算机上尝试运行或调试项目时,会遇到以下错误:“需要先部署项目,然后才能进行调试。 请在配置管理器中启用部署。若要解决此问题,请在“配置管理器”中为项目启用部署。 有关详细说明,请参阅 创建第一个 WinUI 3 项目

    • 适用于 2019 Visual Studio 和 2022 Visual Studio 的 C++ 模板。 在此版本中,这些项目仅限于调用 UWP 应用可调用的 Win32 API 子集。 使用 WAP 打包的空白应用(桌面版 WinUI 3)模板不受此问题的影响。

    • 适用于 Visual Studio 2022 版本 17.0(版本最高可达预览版 4)的 C++ 模板。 首次尝试运行项目时,将遇到以下错误:“存在部署错误”。 若要解决此问题,请再次运行或部署项目。 此问题将在 Visual Studio 2022 版本 17.0 预览版 5 中得到修复。

  • 推送通知 API(Microsoft.Windows.PushNotifications.命名空间)错误地包含在 1.0 预览版 2 版本中。 这仍是一项实验性功能,若要使用,则必须改为安装 1.0 实验版。 此功能将从即将发布的 1.0 版本中删除。

  • 应用生命周期 API (Microsoft.Windows.AppLifecycle 命名空间)错误地在 1.0 预览版 2 版本中包含实验属性。 下一版本将从此 API 中删除实验性属性。

  • 不支持任何 CPU 生成配置添加 Windows 应用 SDK 到支持任何 CPU 的现有 .NET 应用程序或组件时,必须指定所需的体系结构:x86x64arm64

  • 使用 1.0 预览版 2 的 C# 项目必须使用以下 .NET SDK:.NET 6 SDK 或更高版本 (请参阅 下载 .NET.NET 5 将于 2022 年 5 月 10 日终止支持) 。

  • DispatcherQueue.TryEnqueue(用于在调度程序队列线程上恢复执行)的替代方法是,使用 Windows 实现库 (WIL) 中的 resume_foreground Helper 函数:

    1. 将对项目的引用添加到Microsoft.Windows.ImplementationLibrary NuGet 包。
    2. #include <wil/cppwinrt_helpers.h> 添加到 pch.h
    3. #include <winrt/Microsoft.UI.Dispatching.h> 添加到 pch.h
    4. 立即co_await wil::resume_foreground(your_dispatcherqueue);

版本 1.0 预览版 1 (1.0.0-preview1)

重要

版本 1.0 预览版 1 和预览版 2 存在严重 bug。 如果已安装其中一个预览版,请参阅如何解决此问题。 建议改为使用版本 1.0 预览版 3

这是 1.0 版预览版通道的首个版本。 它支持所有预览通道功能

以下部分介绍此版本的新功能、更新功能、限制和已知问题。

WinUI 3

此版本的 WinUI 3 侧重于通过 bug 修复构建 1.0。

  • 新功能:预览版 1 中无新功能。
  • 已修复问题:有关此版本中已解决问题的完整列表,请参阅 GitHub 存储库

有关详细信息或开始使用 WinUI 3 进行开发,请参阅:

窗口化

此版本将实验版 1 中引入的窗口 API 引入预览状态。 此版本没有主要新功能领域,因为它侧重于 BUG 修复、稳定性和 API 签名调整。 下面列出了值得注意的更改和附加内容。

新增功能

  • DisplayAreaWatcher 已添加到窗口 API。 开发人员可以观察显示拓扑中的更改,并枚举系统中当前定义的 DisplayAreas。
  • AppWindow 现在支持通过 SetIcon 方法设置窗口图标,并且 AppWindowTitleBar 现在支持通过 IconShowOptions 属性选择是否显示/隐藏窗口图标以及系统菜单。

重要限制

  • 此版本的 AppWindow 目前仅适用于(打包和未打包的) Win32 应用。
  • Windows 应用 SDK 当前不提供将 UI 框架内容附加到 AppWindow 的方法,只能使用 HWND 互操作访问方法。
  • 窗口标题栏自定义仅适用于 Windows 11。 使用 IsCustomizationSupported 方法检查标题栏自定义功能支持。 我们计划将此功能降级。

有关详细信息,请参阅管理应用窗口

输入

此版本为输入 API 带来了一些新功能。 下面列出了值得注意的更改和附加内容。

新功能和更新

  • PointerPredictor 使输入延迟敏感型应用程序(如墨迹书写应用程序)能够预测输入点位置(最多 15 毫秒),以实现更好的延迟和流畅的动画。
  • 通过使用 FromPointerPoint 方法,PenDeviceInterop 使你能够获取对 Windows.Devices.Input.PenDevice 的引用。
  • InputCursor 通过删除 CoreCursor 中的“自定义”类型,以及将 CoreCursor 对象拆分为单独的对象,在预设的系统游标类型和自定义游标类型之间提供了显式区别。
  • InputCursor API 的更新。
  • GestureRecognizer 从实验版移动到 Microsoft.UI.Input。
  • PointerPoint 从实验版移动到 Microsoft.UI.Input。
  • WinUI 3 拖放完全支持鼠标、触摸和笔输入。

重要限制

  • 此版本的输入 API 在 Windows 版本 1809 中存在已知问题。
  • InputCursor 的任何子类尚不支持 MRT Core。
  • 直接使用平台 SDK API Windows.UI.Core.CoreDragOperation 不适用于 WinUI 3 应用程序。
  • 删除了 PointerPoint 属性的 RawPosition 和 ContactRectRaw,因为它们引用了非预测值,这与操作系统中的常规值相同。 请改为使用位置ContactRect。 指针预测现在通过 PointerPredictor API 对象进行处理。

MRT 核心

从版本 1.0 预览版 1 开始,MRT.LOG Core API 已从Microsoft.ApplicationModel.Resources 命名空间移动到 Microsoft.Windows.ApplicationModel.Resources命名空间。

其他限制和已知问题

  • 版本 1.0 预览版 1 和预览版 2 存在严重 bug。 如果已安装其中一个预览版,请参阅如何解决此问题。 我们建议改用版本 1.0 预览版 3

  • 默认情况下,使用 C++ 使用 WAP 打包的空白应用(桌面版 WinUI 3)项目模板创建的项目会遇到以下生成错误:fatal error C1083: Cannot open include file: 'winrt/microsoft.ui.dispatching.co_await.h': No such file or directory。 若要解决此问题,请从“pch.h”文件中删除以下代码行。 此问题将在下一版本中修复。

    #include <winrt/microsoft.ui.dispatching.co_await.h>
    
  • DispatcherQueue.TryEnqueue(用于在调度程序队列线程上恢复执行)的替代方法是,使用 Windows 实现库 (WIL) 中的 resume_foreground Helper 函数:

    1. 将对项目的引用添加到Microsoft.Windows.ImplementationLibrary NuGet 包。
    2. #include <wil/cppwinrt_helpers.h> 添加到 pch.h
    3. #include <winrt/Microsoft.UI.Dispatching.h> 添加到 pch.h
    4. 立即co_await wil::resume_foreground(your_dispatcherqueue);
  • 不支持任何 CPU 生成配置:Windows 应用 SDK 是用本机代码编写的,因此不支持任何 CPU 生成配置。 Visual Studio 中的 WinUI 3 模板仅允许特定于体系结构的生成。 添加 Windows 应用 SDK 到支持任何 CPU 的现有 .NET 应用程序或组件时,必须指定所需的体系结构:x86x64arm64

  • .NET 应用必须面向内部版本 18362 或更高版本:TFM 必须设置为 net6.0-windows10.0.18362 或更高版本,并且打包项目的 <TargetPlatformVersion> 必须设置为 18362 或更高版本。 有关详细信息,请参阅 GitHub 上的已知问题

  • 使用 1.0 预览版 1 的 C# 项目必须使用以下 .NET SDK:.NET 6 SDK 或更高版本 (请参阅 下载 .NET.NET 5 将于 2022 年 5 月 10 日终止支持) 。

  • Windows 10 版本 1809 不支持未打包的应用:应在下一版本中解决此情况。