Windows 10 SDK

适用于 Fall Creators Update 的 Windows 10 SDK (10.0.16299.15) 提供用于生成 Windows 10 应用的最新标头、库、元数据和工具。与最新版本的 Visual Studio 2017 结合使用时,Windows 10 SDK 可提供构建 Windows 10 应用的最佳体验。

注意:面向 Windows 10 创意者更新(或更新版本)的 Windows 10 应用开发现在需要 Visual Studio 2017。以前版本的 Visual Studio 将不会发现此 SDK。

入门

最新 Visual Studio 2017 RTM 已包含此 Windows 10 SDK 副本。通过在 Visual Studio 安装程序中启用通用 Windows 平台开发工作流,将安装 Windows SDK。

安装此 SDK 之前:

  1. 查看本主题中的所有系统要求。
  2. 请在安装前退出 Visual Studio 2017 RTM。如果 Visual Studio 正在运行,SDK 设置可能会失败。了解有关常见工具问题的详细信息。
  3. 查看本主题中的已知问题。

系统要求

Windows SDK 具有以下最低系统要求:

受支持的操作系统
  • Windows 10 应用开发 (UWP)

    • Windows 10 版本 1507 或更高版本:家庭版、专业版、教育版和企业版(LTSB 和 S 不受支持)
    • Windows Server 2012 R2(仅命令行)Windows Server 2016(仅命令行)
  • Win32 开发

    • Windows 10 版本 1507 或更高版本
    • Windows Server 2016:Standard 和 Datacenter
    • Windows 8.1
    • Windows Server 2012 R2
    • Windows 7 SP1

    (并非所有工具都在较早的操作系统上受支持)

硬件要求
  • 1.6 GHz 或更快的处理器
  • 1 GB 的 RAM
  • 4 GB 的可用硬盘空间
其他 SDK 要求

在 Windows 8.1 和更早的操作系统上安装需要 KB2999226。若要通过 Windows 更新安装,请确保在安装 Windows SDK 之前从 Microsoft 更新安装推荐的最新更新和修补程序。

新增功能

Windows 10 Fall Creators Update SDK 展示了许多用于开发通用 Windows 应用的全新 API 和平台。了解有关 Windows 10 版本 1710 中的新功能的详细信息。

重大更改

从 SDK 删除 Ecmangen.exe

Ecmangen.exe 将不再随 Windows SDK 提供。建议依赖于 ecmangen 创建事件清单的开发人员安装 SDK 的 Windows Creators 版本来获取文件。开发人员也可使用记事本或选择其他 XML 编辑器来创建清单。提供架构文件,请参阅:

\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\um\eventman.xsd

了解详细信息

WinRT 类型标头生成从 MIDL 移至 MIDLRT

WinRT 类型生成的标头生成从 MIDL 工具移动到 MIDLRT 工具。此更改会实现显著的性能改进,并且还将启用一些新功能。

开发人员可能会遇到的最常见问题是将弃用支持添加到生成的 WinRT 标头。通过此更改,如果你使用已弃用的 API,C++ 编译器现在将生成警告,指示你的代码正在访问弃用的类型。

评估你的代码将受到什么影响时,请考虑以下事项:

  1. 用于发出 cpp_quote 指令以解决 MIDL 标头生成限制的 WinMDIDL 工具。这些 cpp_quote 指令与新标头生成逻辑不兼容,需要删除(或需要重新生成 IDL 文件)。
  2. 标记为 [弃用] 的 WinRT 类型现在在生成的 C++ 标头中也标记为 [[弃用]]。这意味着你可能会遇到 C4996 警告,指示你正在访问弃用的类型。若要解决此问题,你可以在项目的预处理器定义中定义 DISABLE_WINRT_DEPRECATION 以忽略弃用。
Windows 运行时枚举定义现在符合 C++ 标准

为了进一步使 Visual C++ 符合用于 C++ 的 ISO 标准,用于 Windows 运行时类型的枚举现已符合标准。如果使用 Windows 10 SDK 开发软件,此更改可能会影响你。

具体而言,带有标记为标志的枚举的操作中的变量必须被转换为无符号整数。使用有符号整数与枚举常量的操作将导致出现编译器错误,因为枚举常量现在是无符号整数。受影响的枚举为 SDK 提供的标志枚举和你使用 [标志] 属性转换的枚举。

例如,下面的代码将位转换为整数:

GamePadReading->get_Buttons(&NewButtonMask); for(int index=0;index<32;index++) { int bit = 1 << index; if( ((NewButtonMask & bit) == bit) && ((CurrentButtonMask & bit) != bit)) { JustPressedButtonMask |= (GamepadButtons)bit;

但是,如果此代码依赖于具有属性 System.FlagsAttribute 的 GamepadButtons,位必须改转换为无符号:

unsigned int bit = 1 << index;

示例

现在可通过 GitHub 获取 Windows 10 应用示例。你可以在 GitHub 上浏览代码、使用 Git 克隆个人储存库副本,或下载包含所有示例的压缩文档。我们乐于接收反馈,因此如果你有问题或疑问,你可以随时在储存库中提出问题。这些示例专用于在支持通用 Windows 平台的桌面、移动设备和将来设备上运行。你可以在 MSDN 代码库中找到其他示例。

Windows 10 移动版模拟器

Windows 10 移动版模拟器是一个桌面应用程序,它可以模拟运行 Windows 10 移动版模拟器的设备。它提供了一个虚拟环境,你可以在其中调试并测试 Windows 应用,而无需使用物理设备。它还为应用程序原型提供独立的环境。了解有关 Windows 10 移动版模拟器的详细信息。

以前的 SDK 版本

可在存档页面上找到以前发布的 SDK 和模拟器(包括更新详细信息)。

已知问题

先退出 Visual Studio

如果当前正在运行 Visual Studio,Windows SDK 可能无法安装,也无法报告致命错误。请在安装前退出 Visual Studio。

API Light Up

想要使用新的 API 时,考虑编写自适应应用,以便在最广泛的 Windows 10 设备上正确运行。请参阅 API 协定 (10x10) 中的动态检测功能以获取详细信息。

了解有关常见工具问题的详细信息

有关最新的发行说明,请参阅 Windows 开发人员论坛

此页对你是否有帮助?
要提供其他反馈?
谢谢! 感谢你提供反馈。
关注我们 Twitter 博客 Facebook Twitter 博客 Facebook 微信 线上