Windows 10 SDK

适用于 Windows 10 版本 1809(服务版本 10.0.17763.132)的 Windows 10 SDK 可提供用于构建 Windows 10 应用的最新标头、库、元数据和工具。

与 Windows 10 版本 1809 一起发布。使用此 SDK 创建适用于 Windows 10 版本 1809 和 Windows 早期版本的通用 Windows 应用和桌面应用。

此 SDK 最初于 2018 年 10 月发布,现已接收以下更新:

  • 解决了在清单中声明多个设备系列的任何应用出现 Windows 应用认证工具包故障的问题
  • 解决了 Windows 应用认证工具包无法部署 MSIX 捆绑包的问题
  • 解决了使用多个 MinTargetPlatformVersions 的 UWP 项目因与 XAML 相关的生成错误而失败的问题。
  • 解决了从 IDL 中的 SelectorAutomationPeer 派生引发 MIDL 错误“检测到不支持的数组模式”的问题。

即刻体验

可以使用两种方法获取 Windows 10 SDK。通过点击下载链接,或者你也可以在 Visual Studio 15.8 安装程序的可选组件中选择此版本的 Windows 10 SDK (10.0.17763.132),以从此 Web 站点安装它。

安装此 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 版本 1809 的 Windows 10 SDK 提供了用于开发 Windows 应用程序的令人振奋的新 API 和工具更新。了解有关 Windows 10 版本 1809 中的新功能的详细信息。

API

要查看 Windows 10 版本 1809 引入的新 API,请参阅:Windows 10 内部版本 17763 为开发人员提供的新功能

工具

CPPWinRT

对于此版本的 Windows SDK(版本 1809),我们对 C++/WinRT 进行了重大改进和更改。我们改进了代码生成,并使用 Clang 和 VC++ 中更为严格的合规性模式改善了兼容性,以及进行了许多其他更新。有关详细信息,请参阅 C++/WinRT 文档了解最新消息。

MC.EXE

我们对消息编译器(MC 或 mc.exe)的 C/C++ ETW 代码生成做了一些重要的更改:

  • 已弃用 -mof 参数。此参数指示 MC.exe 生成与 Windows XP 及更早版本兼容的 ETW 代码。在未来版本的 mc.exe 中,将删除对“-mof”参数的支持。
  • 既然不使用“-mof”参数,那么不管在命令行中指定 -km 还是 -um 参数,生成的 C/C++ 头文件现在都将与内核模式和用户模式兼容。头文件使用 _ETW_KM_ 宏自动确定编译目标为内核模式还是用户模式,并针对每种模式调用相应的 ETW API。
  • 现在, -km 与 -um 唯一的区别在于:使用 -km 生成的 EventWrite[EventName] 宏具有 Activity ID 参数,而使用 -um 生成的 EventWrite[EventName] 宏没有 Activity ID 参数。
  • EventWrite [EventName] 宏现在默认调用 EventWriteTransfer(用户模式)或 EtwWriteTransfer(内核模式)。而在以前,EventWrite [EventName] 宏默认调用 EventWrite(用户模式)或 EtwWrite(内核模式)。
  • 现在,生成的头文件支持多个自定义宏。例如,如果需要生成的宏调用 EventWriteTransfer 以外的内容,可以设置 MCGEN_EVENTWRITETRANSFER 宏。
  • 清单支持新属性。
    • 事件“name”:非本地化事件名称。
    • 事件“attributes”:事件的附加键值元数据,例如文件名、行号、组件名称、函数名称。
    • 事件“tags”:一个 28 位的值,具有用户定义的语义(每事件)。
    • 字段“tags”:一个 28 位的值,具有用户定义的语义(每字段 - 可以应用于“data”或“struct”元素)。
  • 现在,可以在清单中定义“提供程序特性”(例如,提供程序组)。如果你在清单中使用提供程序特性,则 EventRegister [ProviderName] 宏将自动注册它们。
  • 如果本地化消息文件缺少字符串,MC 现在会报告错误。(在以前,MC 会默默生成一个损坏的消息资源。)
  • MC 现在可以使用 -cp utf-8 或 -cp utf-16 参数生成 Unicode(utf-8 或 utf-16)输出。

MSIX 支持

更新了 Windows SDK 工具,以支持新的 MSIX 格式。现在,可以使用 MakeAppx 工具将应用程序与 MSIX 打包在一起,并使用 Windows 应用认证工具包验证 MSIX 包。

VM 状态转储

VmSavedStateDumpProvider.dll 公开了一组 API,以帮助从 Hyper-V 虚拟机保存状态文件中提取与转储相关的内容。你现在可以使用附带的 VmSavedStateDumpProvider.lib 访问 API。

更多详细信息,请查阅文档

Windows 调试器

Ipv6

有一个 WinDbg 预览发行版本可供下载。请参阅 Windows 调试工具博客,了解有关 KDNET IPv6 支持和文档的最新信息。

新的调试器数据模型 API

现在可通过使用 dbgmodel.h 头文件获得新的面向对象的调试器数据模型接口,以实现调试器自动化。调试器数据模型是一种可扩展的对象模型,它在新调试器的扩展(包括 JavaScript、NatVis 和 C++ 中的扩展)工作(包括它们如何使用来自调试器的信息,和它们如何生成可从调试器及其他扩展访问的信息)中能起到核心的作用。可以在调试器的 dx 表达式计算器中以及从 JavaScript 扩展或 C++ 扩展访问写入到数据模型 API 的构造。相关文档请访问:调试器数据模型 C++ 接口概述dbgmodel.h 头文件

Windows Performance Toolkit

与最新版本的 Windows Performance Recorder (WPR),使用中的自定义事件 WPR 配置文件 (WPRP) TraceMergeProperties现在按预期方式工作:如果自定义 WPRP 包含TraceMergeProperties XML 元素具有一组空的自定义的事件,这将不会再包括自定义事件(ImageIDs、WinSat,以及其他默认值)的默认设置。

如果你想让最新的 WPR 保持与先前版本相同的行为,请确保在 TraceMergeProperties 元素中包括以下属性: Base=”TraceMerge_Default”

安装最新版本的 Windows Performance Analyzer (WPA) 后,某些组件在 Windows 8 上运行时需要 Microsoft .NET Framework 4.5.2。为确保正确使用 WPA,请访问 https://www.microsoft.com/en-us/download/details.aspx?id=48130,以安装最新版本的 .NET。

示例

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

以前的 SDK 版本

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

API Light Up

当你想要使用新的 API 时,考虑编写自适应应用,以便在最广泛的 Windows 10 设备上正确运行。只要设备和 Windows 版本能够提供支持,自适应应用的新特性就能发挥功能,否则只能在被检测到的平台版本上提供可用功能。要查看实现详细信息,请参阅 使用 API 协定 (10x10) 动态检测功能。有关最新的发行说明或工具问题,请参阅 Windows 开发人员论坛