VS2010-2015对C++11/14/17特性的支持(vs2012支持c++11)
823
2022-05-29
今天,我们发布了SDK的新Windows 10预览版,可与Windows 10 Insider Preview(内部版本19041或更高版本)结合使用。 Preview SDK Build 19041包含错误修复和在开发中对API表面积的更改。
可以从Windows Insider的“开发人员”部分下载Preview SDK。
有关已知问题的反馈和更新,请访问开发者论坛。对于新的开发人员功能要求,请转到我们的Windows平台UserVoice。
注意事项:
此版本可与以前发布的SDK和Visual Studio 2017和2019结合使用。您可以安装此SDK,并且仍然继续将针对Windows 10 Build 1903或更早版本的应用提交到Microsoft Store。
Windows SDK现在将正式仅受Visual Studio 2017及更高版本支持。您可以在此处下载Visual Studio 2019。
Windows SDK的此版本将安装在已发布的Windows版本和Windows 10 Insider Preview版本上。
为了帮助脚本访问SDK,还可以通过以下静态URL访问ISO:https://software-download.microsoft.com/download/sg/Windows_InsiderPreview_SDK_en-us_19041_1.iso。
工具更新
消息编译器(mc.exe)
现在,在.mc文件中检测Unicode字节顺序标记(BOM)。如果.mc文件以UTF-8 BOM开头,它将被读取为UTF-8文件。否则,如果它以UTF-16LE BOM开始,则将其读取为UTF-16LE文件。如果指定了-u参数,它将被读取为UTF-16LE文件。否则,将使用当前代码页(CP_ACP)进行读取。
现在,避免了由配置宏冲突引起的MC生成的C / C ETW帮助器中的一定义规则(ODR)问题(例如,将两个具有MCGEN_EVENTWRITETRANSFER定义冲突的.cpp文件链接到同一二进制文件中时,MC生成的ETW帮助器现在将遵守每个.cpp文件中MCGEN_EVENTWRITETRANSFER的定义,而不是任意选择一个。
Windows跟踪预处理器(tracewpp.exe)
现在支持Unicode输入(.ini,.tpl和源代码)文件。以UTF-8或UTF-16字节顺序标记(BOM)开头的输入文件将被读取为Unicode。不使用BOM表开头的输入文件将使用当前代码页(CP_ACP)进行读取。对于向后兼容,如果指定-UnicodeIgnore命令行参数,则以UTF-16 BOM开始的文件将被视为空。
现在支持Unicode输出(.tmh)文件。默认情况下,将使用当前代码页(CP_ACP)对输出文件进行编码。使用命令行参数-cp:UTF-8或-cp:UTF-16生成Unicode输出文件。
行为更改:tracewpp现在将所有输入文本转换为Unicode,以Unicode执行处理,并将输出文本转换为指定的输出编码。早期版本的tracewpp避免了Unicode转换,并假定使用单字节字符集来执行文本处理。在输入文件不符合当前代码页的情况下,这可能导致行为更改。如果出现问题,请考虑将输入文件转换为UTF-8(带有BOM)和/或使用-cp:UTF-8命令行参数,以避免编码不明确。
TraceLoggingProvider.h
现在,避免了由冲突的配置宏引起的一定义规则(ODR)问题(例如,将两个具有TLG_EVENT_WRITE_TRANSFER定义冲突的.cpp文件链接到同一二进制文件中时,TraceLoggingProvider.h帮助器现在将尊重每个中的TLG_EVENT_WRITE_TRANSFER的定义。 cpp文件,而不是任意选择一个)。
在C代码中,已更新TraceLoggingWrite宏,以使用可变参数模板在相似事件之间实现更好的代码共享。
使用Device Guard签名对应用程序进行签名
我们使您更轻松地签署应用程序。 Device Guard签名是Microsoft Store for Business和Education中可用的Device Guard功能。通过签名,企业可以保证每个应用程序都来自受信任的来源。我们的目标是使对您的MSIX程序包的签名更加容易。可以在以下位置找到有关Device Guard签名的文档:https://docs.microsoft.com/zh-cn/windows/msix/package/signing-package-device-guard-signing
Windows SDK Flight NuGet提要
我们为开发的SDK建立了NuGet供稿。现在,您可以测试Windows 10 WinRT API Pack的初步构建以及microsoft.windows.sdk.headless.contracts NuGet软件包。
我们使用以下提要来运行NuGet软件包。
Microsoft.Windows.SDK.Contracts可用于将最新的Windows运行时API支持添加到.NET Framework 4.5和.NET Core 3.0库和应用程序。
Windows 10 WinRT API Pack使您可以向.NET Framework 4.5和.NET Core 3.0库和应用程序添加最新的Windows运行时API支持。
Microsoft.Windows.SDK.Headless.Contracts为控制台应用程序提供了Windows运行时API的子集,但不包括与图形用户界面关联的API。此NuGet与
Windows ML容器开发。请查看《入门指南》以获取更多信息。
重大变化
删除api-ms-win-net-isolation-l1-1-0.lib
在此版本中,api-ms-win-net-isolation-l1-1-0.lib已从Windows SDK中删除。与api-ms-win-net-isolation-l1-1-0.lib链接的应用程序可以替换为OneCoreUAP.lib。
删除IRPROPS.LIB
在此版本中,irprops.lib已从Windows SDK中删除。链接到irprops.lib的应用程序可以切换为bthprops.lib作为替代产品。
删除WUAPICommon.H和WUAPICommon.IDL
在此版本中,我们将ENUM tagServerSelection从WUAPICommon.H移至wupai.h,并删除了标头。如果要使用ENUM tagServerSelection,则需要包含wuapi.h或wuapi.idl。
API更新,添加和删除
自Windows 10 SDK版本1903(内部版本18362)发布以来,以下API已添加到平台中。
Windows API/SDK
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。