Windows sdk что это
Обзор наборов и средств
эти наборы и средства можно использовать с Windows 10 для настольных выпусков (домашняя, Pro, Enterprise и образование) и Windows 10 Mobile для разработки и производства.
Узнайте об известных проблемах и решениях для этого выпуска на наших форумах.
ADK для Windows 11
скачайте Windows ADK, чтобы установить средства и документацию для изготовителей оборудования и одмс для настройки образов Windows 10, оценки качества и производительности систем и компонентов, а также для развертывания операционных систем на новых компьютерах Windows. Windows ADK включает в себя Windows конструктор конфигураций, набор средств оценки Windows, Windows производительности набор средств, а также несколько новых и улучшенных средств развертывания, которые могут помочь в автоматизации крупномасштабного развертывания Windows 10. Дополнительные сведения см. в статье новые возможности в комплектах и средствах.
Сведения о средствах ADK
в следующих разделах приведены инструкции по использованию средств, включенных в Windows 10 ADK:
Microsoft Visual Studio 2017
начните с загрузки Visual Studio 2017 и средств Microsoft Visual Studio для Windows 10. используется совместно, Microsoft Visual Studio, Инструменты Visual Studio для Windows 10, автономного Windows пакета средств разработки программного обеспечения (SDK) для Windows 10 и Windows Набор драйверов (WDK) 10 предоставляет интегрированную среду разработки для создания эффективных высококачественных драйверов для устройств с Windows 10.
автономный Windows SDK для Windows 10
Windows SDK для Windows 10 содержит заголовки, библиотеки и инструменты, которые можно использовать при создании приложений, работающих в операционных системах Windows. вы можете использовать Windows SDK для Windows 10, а также выбранную среду разработки, чтобы создавать приложения для Windows 10 для настольных выпусков и Windows 10 Mobile.
WDK 10
WDK 10 содержит средства для создания, тестирования, отладки и развертывания драйверов для Windows 10. WDK 10 объединяет поддержку мобильных и настольных устройств, универсальные драйверы Windows и, с Visual Studio, предоставляет единый тестовый опыт для надежного развертывания и подготовки отладки, которая включает WinDbg. В интегрированной среде можно выполнять множество базовых проверок сертификации. в WDK 10 входят шаблоны для нескольких технологий и моделей драйверов, включая Windows платформы драйверов (вдф), универсальную последовательную шину (USB), печать, сети и фильтры файловой системы. WDK 10 также поддерживает разработку драйверов Windows 7, Windows 8 и Windows 8.1.
Enterprise WDK (евдк)
Enterprise WDK (евдк) — это набор, в котором крупные организации могут использовать в качестве альтернативы для скачивания и установки пакета SDK и WDK отдельно на каждом компьютере. ЕВДК имеет среду сборки командной строки, основанную на файлах и не зависящую от компьютера, поэтому после создания структуры файлов среды ее можно распространить для непосредственного использования, например с помощью программного обеспечения для управления версиями или путем сжатия содержимого и распаковки на других компьютерах. он содержит необходимые элементы для создания драйверов WDM (WDM), драйверов вдф и классических приложений Windows тестирования.
Windows символы
Файлы символов упрощают отладку кода. самый простой способ получить Windows символы — использовать сервер символов майкрософт. если вы предпочитаете скачать весь набор символов для конкретной версии Windows, скачайте пакет символов.
комплект Windows Hardware Lab Kit (хлк) для Windows 10
комплект Windows Hardware Lab kit (хлк) для Windows 10 — это набор средств для тестирования и оценки, позволяющий определить, насколько хорошо ваше оборудование взаимодействует с Windows. ХЛК предоставляет инфраструктуру тестирования для ПК. дополнительные сведения об использовании хлк с Windows 10 см. в разделе руководства пользователя по Windows Hardware Lab Kit.
Дополнительное тестовое содержимое ХЛК
Практическое руководство. Использование Windows SDK в классическом приложении Windows
при создании проекта классического Windows рабочего стола в Visual Studio он обращается к последней Windows SDK, установленной по умолчанию Visual Studio. Visual Studio устанавливает версию пакета SDK при установке рабочей нагрузки C++ для настольных систем. Windows SDK поддерживает запись кода для Windows 7 с пакетом обновления 1 (SP1) и более поздних версий. дополнительные сведения о нацеливании на конкретные версии Windows см. в разделе использование Windows заголовков и обновление WINVER и _WIN32_WINNT.
при обновлении существующего проекта можно выбрать один из вариантов: можно использовать целевой Windows SDK, указанный в проекте. вы также можете перенацелить проект для использования последней Windows SDK. последняя Windows SDK позволяет получить преимущества поддержки новейших операционных систем и языковых стандартов.
использование правильного Windows SDK для проекта
начиная с Visual Studio 2015, библиотека среды выполнения C (CRT) была разделена на две части: одна часть, ucrtbase, содержит стандартные функции crt C и Microsoft, которые можно использовать в универсальных Windows приложениях. эта библиотека теперь называется универсальной библиотекой CRT или UCRT и перешла в Windows SDK. UCRT содержит множество новых функций, таких как функции C99, которые необходимы для поддержки новейших стандартов языка C++. Другая часть исходной CRT — vcruntime. Он содержит поддержку, запуск и код завершения среды выполнения C, а также все остальное, которые не были отправлены в UCRT. Библиотека vcruntime устанавливается вместе с компилятором и набором средств C++ в Visual Studio. Дополнительные сведения см. в разделе функции библиотеки CRT.
UCRT теперь является системным компонентом, установленным на каждой версии Windows 10 и более поздних версий. Он также доступен как устанавливаемый компонент для всех более ранних поддерживаемых версий Windows. вы можете использовать Windows SDK, чтобы выбрать все поддерживаемые версии Windows. полный список поддерживаемых операционных систем см. в разделе Windows SDK.
чтобы перенацелить проекты на использование последних Windows SDK при обновлении версии проекта до Visual Studio 2015, выполните следующие действия.
назначение последней Windows SDK
убедитесь, что установлена последняя Windows SDK. Windows SDK устанавливается в рамках рабочей нагрузки разработка классических приложений на C++ в Visual Studio Installer. автономная версия доступна по адресу Windows SDK.
8,1 в этом контексте относится к пакету SDK для Windows 8.1.
Если этот шаг выполнен успешно, в окне вывода появится следующее сообщение.
Retargeting End: 1 completed, 0 failed, 0 skipped
Откройте диалоговое окно Свойства проекта. в разделе свойства конфигурации общие обратите внимание на значения Windows версия целевой платформы. Изменение значения на данном этапе действует аналогично данной процедуре. Дополнительные сведения см. в разделе Страница свойств «Общие» (проект).
нажмите кнопку макросы и прокрутите список макросов до Windows SDK макросов, чтобы просмотреть все новые значения.
При необходимости повторите процедуру перенаправления для других проектов решений и перестройте решение.
Изменение целевой платформы для пакета SDK для Windows 8.1
Откройте контекстное меню узла проекта в обозреватель решений и выберите пункт перенацелить проекты. (в более ранних версиях Visual Studio выберите изменить целевую версию пакета SDK.)
В раскрывающемся списке Версия целевой платформы выберите 8,1.
Пакет SDK для приложений Windows
Пакет SDK для приложений Windows — это набор компонентов и инструментов для разработчиков, которые представляют новый этап развития платформы для разработки приложений Windows. Пакет SDK для приложений Windows предоставляет унифицированный набор API-интерфейсов и средств, которые можно единообразно применять для любого классического приложения в операционных системах Windows 11 и более ранних версий, вплоть до Windows 10 версии 1809.
Начало работы с пакетом SDK для приложений Windows
Пакет SDK для приложений для Windows предоставляет расширения для Visual Studio 2019 и Visual Studio 2022. К этим расширениям относятся шаблоны проектов, настроенные для использования компонентов пакета SDK для приложений для Windows в новых проектах. Кроме того, библиотеки пакета SDK для приложений Windows доступны через пакет NuGet, который можно установить в существующих проектах.
Рекомендации по конкретным версиям пакета Windows App SDK см. в статьях Каналы выпуска и Файлы для загрузки.
Функции пакета SDK для приложений для Windows
В следующей таблице описаны функции разработки, предоставляемые текущими выпусками пакета SDK для приложений для Windows. Дополнительные сведения о каналах выпуска пакета SDK для приложений для Windows, включая сведения о каждой из этих функций, см. в разделе Функции, доступные через канал выпуска.
Каналы выпуска пакета SDK для приложений Windows
В следующей таблице приведены общие сведения о различных каналах выпуска.
Выпуск | Описание |
---|---|
Стабильный | Этот канал поддерживается приложениями в рабочих средах. Он включает только стабильные API. По умолчанию документация по пакету SDK для приложений Windows описывает стабильный выпуск. |
Предварительный просмотр | Этот канал предоставляет предварительную версию следующего стабильного выпуска. В период между выпуском предварительной и следующей стабильной версий могут быть реализованы критические изменения API. Документацию по использованию предварительного выпуска см. в руководстве по предварительным и экспериментальным версиям. |
Экспериментальный | В этом канале представлены экспериментальные функции на ранних этапах разработки. Экспериментальные функции могут быть удалены из следующего выпуска или не выпущены вообще. Документацию по использованию экспериментального выпуска см. в руководстве по предварительным и экспериментальным версиям. |
Дополнительные сведения о каналах выпуска пакета SDK для приложений Windows см. в статье Каналы выпуска пакета SDK для приложений Windows.
Преимущества пакета SDK для приложений Windows, которые получат разработчики Windows
Пакет SDK для приложений Windows предоставляет широкий спектр API-интерфейсов Windows с реализациями, не зависящими от ОС, которые предоставляются разработчикам в виде пакетов NuGet. Пакет SDK для приложений Windows не предназначен для замены Windows SDK. Windows SDK будет работать так же, как и раньше, а многие основные компоненты Windows будут совершенствоваться с помощью API, которые предоставляются в выпусках ОС и Windows SDK. Мы рекомендуем разработчикам переходить на пакет SDK для приложений Windows в удобном для себя темпе.
Унифицированное использование API для разных платформ классических приложений
Разработчики, которые хотят создавать классические приложения для Windows, вынуждены выбирать между несколькими платформами и средами приложений. Хотя каждая из таких платформ предоставляет множество функций и API, которые могут использоваться приложениями, созданными с помощью других платформ, некоторые из них могут использовать только определенные платформы. Пакет SDK для приложений Windows унифицирует доступ к API-интерфейсам Windows из классических приложений Windows 11 и Windows 10. Независимо от выбранной вами модели приложений вы получите доступ ко всему набору API-интерфейсов Windows, представленных в пакете SDK для приложений Windows.
Мы планируем и дальше развивать пакет SDK для приложений Windows, устраняя пока сохранившиеся различия между разными моделями приложений. Пакет SDK для приложений Windows будет включать как API WinRT, так и собственные API-интерфейсы C.
Согласованные возможности в разных версиях Windows
Так как API Windows меняются с каждой новой версией ОС, разработчикам нужно использовать такие техники, как адаптивный к версии код, чтобы учесть все различия в версиях, которые может использовать аудитория приложения. Это приводит к усложнению кода и работы разработчиков.
Интерфейсы API пакета SDK для приложений Windows будут работать с ОС Windows 11 и более ранних версий, вплоть до Windows 10 версии 1809. Таким образом, если все ваши клиенты работают с Windows 10 версии 1809 или любой более поздней версии Windows, вы сможете применять новые API-интерфейсы и функции пакета SDK для приложений Windows сразу после их выпуска. При этом вам не придется писать дополнительный код для адаптации к разным версиям.
Увеличенная частота выпусков
Новые API и функции Windows ранее обычно были привязаны к выпускам ОС, которые выходили один или два раза в год. Пакет SDK для приложений Windows будет чаще предоставлять обновления, чтобы вы могли быстрее получать доступ к инновационным возможностям на платформе разработки Windows по мере их появления.
Стратегия развития для разработчиков
Новейшие планы по обновлению пакета SDK для приложений Windows см. в описании стратегии.
Отзывы и участие в разработке
Мы создаем пакет SDK для приложений Windows как проект с открытым кодом. На нашей странице Github вы найдете дополнительную информацию о том, как мы работаем над пакетом SDK для приложений Windows и как вы можете поучаствовать в разработке. Ознакомьтесь с руководством для участников, если вы хотите задать вопрос, начать обсуждение или предложить функцию. Мы стремимся к тому, чтобы пакет SDK для приложений Windows предоставлял разработчикам максимум преимуществ.
Windows SDK
Windows SDK (10.0.22000) для Windows 11 включает новейшие заголовки, библиотеки, метаданные и средства для создания приложений для Windows. Этот пакет SDK поможет вам создавать приложения универсальной платформы Windows (UWP), а также приложения Win32 для Windows 11 и предыдущих выпусков Windows.
Windows 10 версии 21H2 — это ограниченный набор функций для отдельных улучшений производительности и повышения качества. Разработчики должны знать об этом выпуске, но пока никаких действий не требуется.
Новый пакет Windows SDK для этой версии Windows выпущен не будет, так как в этом выпуске не вводятся новые API. Это означает, что нет необходимости вносить изменения в файлы проекта или задавать новую целевую версию Windows. Продолжайте использовать пакет Windows SDK (10.0.22000) для Windows 11.
НОВИНКА!Пакет SDK для приложений Windows
Пакет SDK для приложений Windows содержит унифицированный набор API и средств, которые отделены от ОС и предоставляются разработчикам с помощью пакетов NuGet. Эти API и инструменты могут согласованно использоваться любыми настольными приложениями в Windows 11 и ниже, вплоть до Windows 10 версии 1809.
Начало работы
Получить пакет Windows SDK можно двумя способами: установить с этой страницы, щелкнув ссылку для скачивания, или выбрать «Пакет SDK для Windows 11 (10.0.22000)» в дополнительных компонентах установщика Visual Studio 2019.
Перед установкой этого пакета SDK:
Системные требования
Минимальные системные требования этого пакета Windows SDK:
Поддерживаемые операционные системы
(Не все средства поддерживаются в среде операционных систем более ранних версий)
Требования к оборудованию
Дополнительные требования для этого SDK
Для установки пакета в среде Windows 8.1 и операционных систем более ранних версий необходимо сначала установить обновление KB2999226. Чтобы выполнить установку Windows SDK через Центр обновления Windows, перед этим необходимо установить последние рекомендованные обновления и исправления из Центра обновления Майкрософт.
Что нового
Windows SDK для Windows 11 позволяет обновить приложения для последней версии ОС Windows. Узнайте больше о новых возможностях Windows 11.
Сведения о новых API, появившихся в Windows 11, см. в статье Новые API в Windows 11, сборка 22000.
Выполните повторную сборку двоичных файлов Windows 11 в операционной системе ARM с помощью ARM64EC, чтобы любой системный код, загруженный приложениями x64, выполнялся на полной скорости. Воспользуйтесь преимуществами ARM64EC, чтобы постепенно перевести приложение в работу с полной скоростью на базе ARM, даже если у вас есть зависимости или подключаемые модули, которые еще не поддерживают ARM. Ознакомьтесь с объявлением.
Примеры
Примеры приложений для Windows теперь доступны через GitHub. Вы можете просмотреть код на веб-сайте GitHub, клонировать личную копию репозитория из Git или скачать запакованный архив со всеми примерами. Для нас очень важен ваш отзыв. Поэтому при возникновении проблемы или вопроса относительно репозитория без колебаний сообщайте нам. Эти примеры предназначены для запуска на настольном, мобильном и будущих устройствах, которые поддерживают платформу универсальных приложений для Windows (UWP).
Предыдущие версии пакетов SDK
Ранее выпущенные пакеты SDK и эмуляторы, а также сведения об обновлениях см. на странице архивов.
Активация API-интерфейсов
При использовании новых API целесообразно создавать адаптивные приложения, которые смогут правильно выполняться на множестве устройств Windows. Новые функции в адаптивных приложениях активируются, если устройство и версия Windows поддерживают их. В противном случае предоставляются только те возможности, которые доступны в версии обнаруженной платформы. Сведения о реализации см. в статье Адаптивный к версии код.
Заметки о выпуске и известные проблемы
Пакет SDK для Windows 10, версия 2104 Раскрыть заметки
#ifdef __clang__
#pragma clang diagnostic ignored «-Wnonportable-system-include-path»
#endif
Пакет SDK для Windows 10, версия 2004 со служебным обновлением (выпущено 16.12.2020) Развернуть заметки
Предоставить отзыв
Сведения об известных проблемах см. на странице вопросов и ответов по SDK для WinAPI.
Запросы на новые функции для разработчиков можно подавать с помощью приложения Центра отзывов в категории «Платформа разработчиков/API».
Другие ресурсы
Загрузки и инструменты
Получите новейшие выпуски средств разработки Visual Studio и Windows 10.
Архив для пакета SDK
Поиск предыдущих версий Window SDK и других инструментов.
Блог Windows
Подпишитесь на наш блог, чтобы быть в курсе актуальных новостей о пакетах SDK.
Информационный бюллетень о жизненном цикле Windows
Основные даты выхода обновлений для выпусков Windows и окончания поддержки.
Доступные пакеты SDK
Доступны следующие пакеты SDK:
Можно также создать собственный пакет SDK и распространять его с помощью NuGet.
Файлы проекта
Чтобы указать пакет SDK, который содержится в NuGet, добавьте версию в конец имени или укажите имя и версию в файле global.json.
Другим способом указания пакета SDK является элемент Sdk верхнего уровня.
На компьютере Windows файлы Sdk.props и Sdk.targets можно найти в папке %ProgramFiles%\dotnet\sdk\[версия]\Sdks\Microsoft.NET.Sdk\Sdk.
Предварительная обработка файла проекта
Включения и исключения по умолчанию
Элемент | Стандартная маска включения | Стандартная маска исключения | Стандартная маска удаления |
---|---|---|---|
Compile | **/*.cs (или другие расширения языка) | **/*.user; **/*.*proj; **/*.sln; **/*.vssscc | Н/Д |
EmbeddedResource | **/*.resx | **/*.user; **/*.*proj; **/*.sln; **/*.vssscc | Н/Д |
None | **/* | **/*.user; **/*.*proj; **/*.sln; **/*.vssscc | **/*.cs; **/*.resx |
Ошибки сборки
Если вы явным образом определите любой из этих элементов в файле проекта, скорее всего, произойдет ошибка сборки NETSDK1022 с примерно таким сообщением:
Чтобы устранить такую проблему, выполните любое из следующих действий:
Если вы хотите указать файлы, которые нужно публиковать вместе с приложением, для этого можно по-прежнему использовать привычные механизмы MSBuild (например, элемент Content ).
Неявные директивы using
Неявные директивы global using добавляются для проектов, которые используют один из следующих пакетов SDK:
Директива global using добавляется для каждого пространства имен в наборе стандартных пространств имен, в зависимости от конкретного пакета SDK для проекта. Эти пространства имен по умолчанию показаны в следующей таблице.
SDK | Пространства имен по умолчанию |
---|---|
Microsoft.NET.Sdk | System System.Collections.Generic System.IO System.Linq System.Net.Http System.Threading System.Threading.Tasks |
Microsoft.NET.Sdk.Web | System.Net.Http.Json Microsoft.AspNetCore.Builder Microsoft.AspNetCore.Hosting Microsoft.AspNetCore.Http Microsoft.AspNetCore.Routing Microsoft.Extensions.Configuration Microsoft.Extensions.DependencyInjection Microsoft.Extensions.Hosting Microsoft.Extensions.Logging |
Microsoft.NET.Sdk.Worker | Microsoft.Extensions.Configuration Microsoft.Extensions.DependencyInjection Microsoft.Extensions.Hosting Microsoft.Extensions.Logging |
Microsoft.NET.Sdk.WindowsDesktop (Windows Forms) | Пространства имен Microsoft.NET.Sdk System.Drawing System.Windows.Forms |
Microsoft.NET.Sdk.WindowsDesktop (WPF) | Пространства имен Microsoft.NET.Sdk System.IO удалено System.Net.Http удалено |
Неявные ссылки на пакет
При необходимости можно отключить неявные ссылки на пакеты с помощью свойства DisableImplicitFrameworkReferences и добавить явные ссылки только на необходимые платформы или пакеты.
События сборки
Настройка сборки
Пользовательские целевые объекты
Чтобы добавить пользовательские целевые объекты или свойства сборки, нужно поместить файлы в форме
.props (например, Contoso.Utility.UsefulStuff.targets ) в папку build проекта.