Заметки о выпуске канала предварительной версии для пакета SDK для приложений Windows 1.2
Внимание
Канал предварительной версии не поддерживается для использования в рабочих средах, а приложения, использующие предварительные версии, не могут быть опубликованы в Microsoft Store.
Канал предварительной версии включает выпуски пакета SDK для приложений Windows с функциями предварительной версии канала на поздних этапах разработки. Предварительные версии не включают экспериментальные функции и API, но могут по-прежнему подвергаться критическим изменениям до следующего стабильного выпуска.
Важные ссылки:
- Если вы хотите обновить существующее приложение с более старой версии пакета SDK для приложений Windows до более новой версии, ознакомьтесь с обновлением существующих проектов до последнего выпуска пакета SDK для приложений Windows.
- Документация по предварительным выпускам см. в разделе "Установка средств для предварительной версии" и "Экспериментальные каналы" пакета SDK для приложений Windows.
Последний выпуск канала предварительной версии:
Последний выпуск стабильного канала:
Версия 1.2(предварительная версия 2) (1.2.0-preview2)
Это последний выпуск канала предварительной версии для версии 1.2.
В существующем приложении пакета SDK для приложений Windows 1.1 (из стабильного канала) можно обновить пакет Nuget до версии 1.2.0-preview2 (см. раздел "Обновление пакета" в Visual Studio и управление ими с помощью диспетчер пакетов NuGet).
Сведения об обновленной среде выполнения и MSIX см. в разделе "Последние загрузки пакета SDK для приложений Windows".
Внимание
Visual Studio 2019 и .NET 5 больше не поддерживаются для создания приложений C# (см. пакет SDK для приложений Windows 1.2, переход на C# WinRT 2.0). Вам потребуется Visual Studio 2022 и одна из следующих версий пакета SDK для .NET: 6.0.401 (или более поздней версии), 6.0.304, 6.0.109.
Чтобы обновить версию пакета SDK для .NET, установите последнюю версию Visual Studio 2022 или посетите скачиваемых файлов .NET. При обновлении пакета NuGet без требуемой версии пакета SDK для .NET появится сообщение об ошибке: "Для этой версии WindowsAppSDK требуется .NET 6+ и WinRT.Runtime.dll версии 2.0 или более поздней." Чтобы обновить проект от .NET 5.0 до .NET 6.0, откройте файл проекта и измените "TargetFramework" на "Целевая версия ОС" net6.0
на соответствующее значение (например net6.0-windows10.0.19041.0
).
Сторонние мини-приложения в Windows
Доска мини-приложений была впервые представлена в Windows 11 и была ограничена отображением сторонних мини-приложений. Мини-приложения — это небольшие контейнеры пользовательского интерфейса, которые отображают текст и графику на панели мини-приложений и связаны с приложением, установленным на устройстве. С помощью пакета SDK для приложений Windows в качестве сторонних разработчиков теперь можно создавать мини-приложения для упакованных приложений Win32 и тестировать их локально в доске мини-приложений Windows 11.
Дополнительные сведения о мини-приложениях см. в обзоре мини-приложений.
Чтобы приступить к разработке мини-приложений для приложения, ознакомьтесь с документацией по разработке мини-приложений и основами разработки мини-приложений для предварительных требований, рекомендаций и рекомендаций.
Необходимые условия для этого выпуска:
- Режим разработчика включен на компьютере разработки.
- Компьютер разработки работает с версией Windows из канала разработки программы предварительной оценки Windows (WIP) с мини-приложением Board версии 521.20060.1205.0 или более поздней.
Известные ограничения при разработке мини-приложений
- Сторонние мини-приложения можно протестировать только локально на устройствах, зарегистрированных в WIP для этого предварительного выпуска. В пакете SDK для приложений Windows 1.2.0 пользователи в розничных версиях Windows могут начать получать 3P-мини-приложения с помощью Microsoft Store, отправляемых версий приложения.
- Мини-приложения можно создавать только для упакованных приложений Win32. Мини-приложения для прогрессивных веб-приложения (PWA) планируется поддерживать в составе Microsoft Edge 108.
Обрезка для приложений, разработанных с помощью .NET
Разработчики .NET теперь могут публиковать свои приложения WinAppSDK, обрезанные. При использовании CsWinRT 2.0 проекции C#/WinRT, распределенные в WinAppSDK, теперь обрезаются. Публикация обрезки приложения может уменьшить объем дискового пространства приложения, удалив любой неиспользуемый код из обрезки двоичных файлов. Приложения также могут видеть улучшение производительности запуска. Благодаря базовому приложению Hello World мы видели улучшение объема дискового пространства на ~80% и повышение производительности запуска на ~7% при публикации обрезки. С коллекцией WinUI мы видели улучшение дискового пространства на ~45 %.
Дополнительные сведения о включении обрезки, ограничений обрезки (например, отражения от типов обрезки) и предупреждений об обрезки см. в разделе "Обрезка автономных развертываний и исполняемых файлов". Разработчики должны тщательно протестировать свои приложения после обрезки, чтобы убедиться, что все работает должным образом. Дополнительные сведения см. в выпуске 2478 на сайте GitHub.
DisplayInformation
Теперь приложения Win32 могут поддерживать высокий динамический диапазон (HDR) через класс DisplayInformation в WinAppSDK. Класс DisplayInformation позволяет отслеживать сведения, связанные с отображением, для представления приложения. К ним относятся события, позволяющие клиентам отслеживать изменения в представлении приложения, влияющие на отображение, в котором находится представление, а также изменения в дисплеях, которые могут повлиять на представление приложения.
Исправлены проблемы в WinUI 3
- Акриловый фоновый материал через DesktopAcrylicController теперь поддерживается в приложениях Windows 10. Дополнительные сведения см. в выпуске 7112 на сайте GitHub.
- Исправлена проблема, из-за которой App.UnhandledException не удалось перенаправить в приложение. Дополнительные сведения см. в выпуске 5221 на сайте GitHub.
- Исправлена проблема, из-за которой стили ListView регрессировали и изменились с WinAppSDK 1.1. Дополнительные сведения см. в выпуске 7666 на сайте GitHub.
Другие ограничения и известные проблемы (1.2.0-preview2)
Внимание
При ссылке на WinAppSDK 1.2 из проекта может появиться ошибка, аналогичная: "Обнаружена пониженная версия пакета: Microsoft.Windows.SDK.BuildTools с 10.0.22621.1 до 10.0.22000.194.", которая вызвана несовместимыми ссылками на пакет из проекта приложения и пакета WinAppSDK. Чтобы устранить эту проблему, можно обновить ссылку в проекте до более новой и совместимой версии Microsoft.Windows.SDK.BuildTools или просто удалить ссылку из проекта. Если удалить его из проекта, совместимая версия будет неявно ссылаться на пакет WinAppSDK.
- Сборка с помощью Arm64 Visual Studio в настоящее время не поддерживается.
- Bootstrapper и Undocked RegFree WinRT auto-initializer defaults is (now) заданы только для проектов, которые создают исполняемый файл (OutputType=Exe или WinExe). Это предотвращает добавление автоматических инициализаторов в библиотеки классов DLL и других не исполняемых файлов по умолчанию.
- Если вам нужен автоматический инициализатор в неисполняемом файле (например, тестовая библиотека DLL, загруженная универсальным исполняемым файлом, который не инициализирует начальную загрузку), вы можете явно включить автоматический инициализатор в проекте через
<WindowsAppSdkBootstrapInitialize>true</WindowsAppSdkBootstrapInitialize>
или<WindowsAppSdkUndockedRegFreeWinRTInitialize>true</WindowsAppSdkUndockedRegFreeWinRTInitialize>
.
- Если вам нужен автоматический инициализатор в неисполняемом файле (например, тестовая библиотека DLL, загруженная универсальным исполняемым файлом, который не инициализирует начальную загрузку), вы можете явно включить автоматический инициализатор в проекте через
- Api сведений о версии (ReleaseInfo и RuntimeInfo) можно вызывать, но возвращать версию 0 (а не фактическую информацию о версии).
Версия 1.2(предварительная версия 1) (1.2.0-preview1)
В существующем приложении пакета SDK для приложений Windows 1.1 (из стабильного канала) можно обновить пакет Nuget до версии 1.2.0-preview1 (см. раздел "Обновление пакета" в Visual Studio с помощью диспетчер пакетов NuGet).
Сведения об обновленной среде выполнения и MSIX см. в разделе "Последние загрузки пакета SDK для приложений Windows".
WinUI 3
Приложения WinUI 3 могут воспроизводить звук и видео с помощью элементов управления воспроизведением мультимедиа MediaPlayerElement и MediaTransportControls. Дополнительные сведения о том, как и когда использовать элементы управления мультимедиа, см. в разделе "Проигрыватели мультимедиа".
WinUI 3 обновлен с помощью последних элементов управления, стилей и поведения из WinUI 2.8. К этим обновлениям относятся добавление элемента управления InfoBadge , улучшения специальных возможностей и режима высокой контрастности, а также исправления ошибок в элементах управления. Дополнительные сведения см. в заметках о выпуске WinUI 2.7 и WinUI 2.8.
Известная проблема
Стили ListView регрессировали и изменились с WinAppSDK 1.1.
Notifications
AppNotificationBuilder представлен в качестве альтернативы полезным данным XML для создания и определения уведомлений приложений.
Сведения об использовании см. в спецификации AppNotificationBuilder на GitHub.
См. также краткое руководство. Уведомления о приложениях в пакете SDK для приложений Windows см. в примере создания классического приложения Windows, которое отправляет и получает уведомления о локальном приложении.
Критическое изменение
Для push-уведомлений при вызове запроса канала приложениям потребуется использовать идентификатор объекта Azure вместо идентификатора приложение Azure. Дополнительные сведения о поиске идентификатора объекта Azure см . в кратком руководстве.
Исправленные проблемы
PushNotificationManager.IsSupported выполнит проверку режима с повышенными привилегиями. Он возвращается false
, если приложение повышено.
Известные ограничения (уведомления)
- В AppNotificationScenario
Urgent
поддерживается только для сборок Windows 19041 и более поздних версий. Вы можете использовать AppNotificationBuilder.IsUrgentScenarioSupported для проверки доступности функции во время выполнения. - В AppNotificationButton
hint-toolTip
иhint-buttonStyle
поддерживается только для сборок 19041 и более поздних версий. Вы можете использовать IsButtonStyleSupported и IsToolTipSupported, чтобы проверить, доступна ли функция во время выполнения. - В MediaPlayerElement при использовании в разметке XAML для распаковочного приложения свойство Source нельзя задать с помощью URI ms-appx или ms-resource. В качестве альтернативы задайте источник с помощью URI файла или задайте его из кода.
Оконное расширение
Полная настройка строки заголовка теперь доступна в Windows 10 версии 1809 и более поздних версий с помощью класса AppWindowTitleBar . Вы можете задать AppWindowTitleBar.ExtendsContentIntoTitleBar для true
расширения содержимого в области заголовка и SetDragRectangles , чтобы определить области перетаскивания (помимо других параметров настройки).
Если вы использовали свойство AppWindowTitleBar.IsCustomizationSupported, чтобы проверить, можно ли вызывать API AppWindowTitleBar, теперь он возвращает true
поддерживаемые версии Windows App SDK для Windows 10 (1809 и более поздних версий).
Известные ограничения (окно)
Простые настройки строки заголовков не поддерживаются в Windows 10. К ним относятся BackgroundColor, InactiveBackgroundColor, ForegroundColor, InactiveForegroundColor и IconShowOptions. При вызове этих свойств они будут игнорироваться автоматически. Все остальные API AppWindowTitleBar работают в Windows 10 версии 1809 и более поздних версий. Для интерфейсов API цвета кнопки заголовка (среди прочего) и Height необходимо задать true
значение ExtendsContentIntoTitleBar, в противном случае они также будут игнорироваться автоматически.
Управление доступом
Появилась функция security.accesscontrol.h с функцией GetSecurityDescriptorForAppContainerNames , чтобы упростить и упростить совместное использование именованных объектов между упакованными процессами и общими API Win32. Этот метод принимает список имен семейств пакетов (PFN) и маски доступа и возвращает дескриптор безопасности. Дополнительные сведения см. в спецификации GetSecurityDescriptorForAppContainerNames на сайте GitHub.
Другие ограничения и известные проблемы (1.2.0-preview1)
- .NET PublishSingleFile не поддерживается.
См. также
- Последние заметки о выпуске стабильного канала для пакета SDK для приложений Windows
- Последние заметки о выпуске экспериментального канала для пакета SDK для приложений Windows
- Установка инструментов для Windows App SDK
- Создание первого проекта WinUI 3 (пакет SDK для приложений Windows)
- Использование пакета Windows App SDK в существующем проекте
- Общие сведения о развертывании
Windows developer