Пакет SDK для Windows 10

В состав пакета SDK для Windows 10 версии 1809 входят новейшие заголовки, библиотеки, метаданные и средства для создания приложений для Windows 10.

Примечание. Для разработки приложений для Windows 10 версии 1809 (или более поздней версии) требуется Visual Studio 2017. Этот пакет SDK не будет обнаруживаться в предыдущих версиях Visual Studio.

Начало работы

Существует два способа получить пакет SDK для Windows 10. Его можно установить с этого веб-сайта, щелкнув ссылку для скачивания, или выбрать эту версию пакета SDK для Windows 10 (10.0.17763.0) в дополнительных компонентах установщика Visual Studio 15.8.

Перед установкой этого пакета 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 с пакетом обновления 1 (SP1)

(Не все средства поддерживаются в среде операционных систем более ранних версий)

Требования к оборудованию

  • Процессор с частотой 1,6 ГГц или более мощный
  • 1 ГБ памяти (ОЗУ)
  • 4 ГБ свободного пространства на жестком диске

Дополнительные требования для этого SDK

Для установки пакета в среде Windows 8.1 и операционных систем более ранних версий необходимо предварительно установить KB2999226. Чтобы выполнить установку Windows SDK через Центр обновления Windows, перед этим необходимо установить последние рекомендованные обновления и исправления из Центра обновления Майкрософт.

Новые возможности

В состав пакета SDK для Windows 10, версия 1809, входят новые API-интерфейсы и обновленные средства для разработки Windows-приложений. Подробнее о новых возможностях Windows 10, версия 1809.

Интерфейсы API

С новыми API-интерфейсами, появившимися в Windows 10, версия 1809, можно ознакомиться в разделе Новые возможности для разработчиков в Windows 10, сборка 17763.

Инструменты

CPPWinRT

Заголовки C++/WinRT и компилятор CPPWinRT (cppwinrt.exe) были впервые добавлены в пакет SDK для Windows 10 версии 1803. В этот выпуск (версия 1809) мы внесли значительные улучшения и изменения. Например, мы улучшили процесс создания кода, совместимость с более строгими режимами соответствия Clang и VC++, а также внесли многочисленные дополнительные улучшения качества. Дополнительные сведения см. в нашем репозитории GitHub, где мы объявляем о выходе новых функций, а также отслеживанием ваши запросы и проблемы, о которых вы сообщаете.

MC.EXE

Мы внесли важные изменения в процесс создания кода на C/C++ для трассировки событий Windows с помощью компилятора сообщений (MC или mc.exe):

  • Параметр "-mof" является устаревшим. Этот параметр предписывает mc.exe создавать код для трассировки событий Windows, совместимый с Windows XP и более ранних версий. Поддержка параметра "-mof" будет отменена в будущих версиях mc.exe.
  • Так как параметр "-mof" больше не используется, создаваемый заголовок C/C++ теперь совместим с режимом ядра и пользовательским режимом независимо от того, указываются ли параметры "-km" или "-um" в командной строке. Заголовок использует макрос _ETW_KM_ для автоматического определения того, выполняется ли его компиляция для режима ядра или пользовательского режима, и вызывает соответствующие API-интерфейсы трассировки событий Windows для каждого режима.
  • Единственное оставшееся различие между параметрами "-km" и "-um" заключается в том, что у макроса EventWrite[EventName], создаваемого с помощью параметра "-km", есть параметр Activity ID (идентификатор действия), тогда как у макроса EventWrite[EventName], создаваемого с помощью параметра "-um" нет параметра Activity ID (идентификатор действия).
  • Теперь макрос EventWrite[EventName] по умолчанию вызывает EventWriteTransfer (пользовательский режим) или EtwWriteTransfer (режим ядра). Ранее макрос EventWrite[EventName] по умолчанию вызывал EventWrite (пользовательский режим) или EtwWrite (режим ядра).
  • Теперь созданный заголовок поддерживает несколько макросов настройки. Например, можно настроить макрос MCGEN_EVENTWRITETRANSFER, если требуется, чтобы созданный макрос вызывал действие, отличное от EventWriteTransfer.
  • Манифест поддерживает новые атрибуты.
    • Имя события ("name"): нелокализованное имя события.
    • Атрибуты события ("attributes"): дополнительные метаданные пары "ключ-значение" для события, такие как filename (имя файла), line number (номер строки), component name (имя компонента), function name (имя функции).
    • Теги события ("tags"): 28-разрядное значение с пользовательской семантикой (для каждого события).
    • Теги поля ("tags"): 28-разрядное значение с пользовательской семантикой (для каждого поля — могут быть применены к элементам "data" или "struct").
  • Теперь в манифесте можно определить "provider traits" (признаки поставщика). Например, группу поставщика. Если в манифесте будут использоваться признаки поставщика, макрос EventRegister[ProviderName] будет автоматически регистрировать их.
  • Теперь MC сообщает об ошибке при отсутствии строки в файле локализованного сообщения. (Ранее MC создавал ресурс поврежденного сообщения без всяких уведомлений.)
  • Теперь MC может создавать выходные данные в формате Юникод (utf-8 или utf-16) с параметрами "-cp utf-8" или "-cp utf-16".

Поддержка MSIX

Инструменты Windows SDK теперь поддерживают новый формат MSIX. Теперь средство MakeAppx можно использовать для создания пакета приложения в формате MSIX и проверки пакета MSIX с помощью комплекта сертификации приложений для Windows.

Дамп состояния виртуальной машины

VmSavedStateDumpProvider.dll предоставляет набор API-интерфейсов, помогающих извлечь дамп связанного содержимого из файла сохраненного состояния для виртуальной машины Hyper-V. Теперь доступ к API-интерфейсам можно осуществлять с помощью библиотеки VmSavedStateDumpProvider.lib.

Дополнительные сведения см. в документации.

Отладчик Windows

Ipv6

Теперь доступна для скачивания финальная версия WinDbg Preview. Следите за обновлениями в блоге Средства отладки для Windows относительно поддержки и документации по KDNET IPv6.

Новый API-интерфейс модели данных отладчика

Теперь с помощью заголовка dbgmodel.h можно получить новый объектно-ориентированный интерфейс модели данных отладчика, поддерживающий автоматизацию работы отладчика. Модель данных отладчика — это расширяемая объектная модель, которая лежит в основе того, каким образом работают новые расширения отладчика (включая расширения на JavaScript, NatVis и C++) — как они потребляют информацию, поступающую от отладчика, и как генерируют информацию, доступ к которой можно получить как из самого отладчика, так и из других расширений. Конструкции, которые записываются в API-интерфейсы модели данных, доступны в обработчике выражений DX отладчика, а также в расширениях JavaScript или C++. Документацию можно будет найти в разделах Обзор интерфейса C++ модели данных отладчика и Заголовок dbgmodel.h.

Windows Performance Toolkit

В последней версии Windows Performance Recorder (WPR) профили WPR (WPRP) с пользовательскими событиями в TraceMergeProperties теперь работают должным образом. Если пользовательский профиль WPRP содержит XML-элемент TraceMergeProperties с пустым набором пользовательских событий, стандартный набор пользовательских событий (ImageIDs, WinSat и т. д.) будет отсутствовать в профиле.

С целью обеспечения согласованности поведения последней версии WPR с предыдущими версиями не забудьте добавлять следующий атрибут в качестве части элемента TraceMergeProperties: Base="TraceMerge_Default"

В последней версии Windows Performance Analyzer (WPA) для некоторых компонентов при работе в установках Windows 8 необходимо использовать Microsoft .NET Framework 4.5.2. Чтобы обеспечить правильное использование WPA, установите последнюю версию .NET, скачав ее на веб-странице https://www.microsoft.com/en-us/download/details.aspx?id=48130.

Примеры

Примеры приложений для Windows 10 теперь доступны через GitHub. Вы можете просмотреть код на веб-сайте GitHub, клонировать личную копию репозитория из Git или скачать запакованный архив всех примеров. Для нас очень важен ваш отзыв. Поэтому при возникновении проблемы или вопроса относительно репозитория без колебаний сообщайте нам. Эти примеры предназначены для запуска на настольном, мобильном и будущих устройствах, которые поддерживают платформу универсальных приложений для Windows (UWP).

Предыдущие версии пакетов SDK

Ранее выпущенные пакеты SDK и эмуляторы, а также сведения об обновлениях можно найти на странице архивов.

Активация API-интерфейсов

При использовании новых API-интерфейсов целесообразно создавать адаптивные приложения, которые смогут правильно выполняться на наибольшем количестве устройств с Windows 10. Новые функции в адаптивных приложениях "активируются", если устройство и версия Windows поддерживают их. В противном случае они предоставляют только те функциональные возможности, которые доступны в версии обнаруженной платформы. Подробные сведения о реализации см. в разделе Динамическое обнаружение компонентов с контрактами API (10 на 10). Последние заметки о выпуске и проблемах с инструментами см. на форуме разработчиков для Windows.