Поделиться через


Заметки о выпуске стабильного канала для пакета SDK для приложений Windows 1.5

Стабильный канал предоставляет выпуски пакета SDK для приложений Windows, которые поддерживаются приложениями в рабочих средах. Приложения, использующие стабильный выпуск пакета SDK для приложений Windows, также можно опубликовать в Microsoft Store.

Важные ссылки:

Последний выпуск стабильного канала:

Скачиваемые файлы пакета SDK для приложений для Windows

Примечание.

Расширения Visual Studio для пакета SDK для приложений Windows (VSIX) больше не распределяются в виде отдельной загрузки. Они доступны в Visual Studio Marketplace в Visual Studio.

Версия 1.5.9 (1.5.250108004)

Это выпуск пакета SDK для приложений Windows, содержащий критические исправления ошибок для выпуска 1.5.

  • Исправлена еще одна потенциальная проблема, из-за которой меню с командной панели может открыться неправильно вверх вместо вниз, когда командная панель находится в нижней части окна.
  • Исправлено потенциальное сбой при запуске на более старом графическом оборудовании.

Версия 1.5.8 (1.5.241107002)

Это выпуск пакета SDK для приложений Windows, содержащий критические исправления ошибок для выпуска 1.5.

  • Исправлен потенциальный сбой, когда входная очередь в потоке, как представляется, находится в плохом состоянии.
  • Исправлены некоторые потенциальные сбои при использовании {x:Bind} , проверяя каждый компонент на значение NULL. Приложения, которые хотят, чтобы это исправление было необходимо повторно компилировать с этим выпуском.

Версия 1.5.7 (1.5.241001000)

Это выпуск пакета SDK для приложений Windows, содержащий критические исправления ошибок для выпуска 1.5.

  • Добавлено обнаружение для редкого сценария, когда приложение останавливает отрисовку и никогда не восстанавливается.
  • Исправлен потенциальный сбой при неинициализации потока пользовательского интерфейса.
  • Исправлена потенциальная проблема, из-за которой меню из панели команд, возможно, неправильно открылось, а не вниз, когда панель команд была в нижней части окна.

Версия 1.5.6 (1.5.240802000)

Это выпуск пакета SDK для приложений Windows, содержащий критические исправления ошибок для выпуска 1.5.

  • Исправлена проблема с InputNonClientPointerSource иногда критическим вводом к кнопкам Min/Max/Close. Дополнительные сведения см. в статье о проблеме GitHub #9749.
  • Исправлен потенциальный сбой при закрытии окна при использовании сенсорной панели.

Версия 1.5.5 (1.5.240627000)

Это выпуск пакета SDK для приложений Windows, содержащий критические исправления ошибок для выпуска 1.5.

  • Исправлено потенциальное сбой во время загрузки образа при изменении источника образа перед завершением загрузки.
  • Исправлен потенциальный сбой при использовании InputNonClientPointerSource.
  • Исправлена проблема, из-за которой окно, содержащее только элемент управления WebView2, неправильно устанавливает начальную фокусную клавиатуру в WebView2, оставляя его недоступным с помощью клавиатуры и специальных возможностей. Дополнительные сведения см. в статье GitHub о проблеме WebView2Feedback#2330.

Версия 1.5.4 (1.5.240607001)

Это выпуск пакета SDK для приложений Windows, содержащий критические исправления ошибок для выпуска 1.5.

  • Исправлена проблема с исправлением проблемы GitHub #8857 , чтобы правильно объединить ресурсы библиотеки.pri в ресурсы приложения.pri.
  • Исправлена проблема, из-за которой WebView2 отправлял дополнительные blur и focus события при каждом щелчке. Дополнительные сведения см. в статье о проблеме GitHub #9288. Это также устраняет проблемы с раскрывающимся списком, не отвечая, как показано в проблеме GitHub #9566.
  • Исправлена проблема, из-за которой при создании нового окна или всплывающего окна была отменена любая операция перетаскивания. Дополнительные сведения см. в статье о проблеме GitHub #9360.
  • Исправлена проблема, из-за которой файлы SVG, определяющие отрицательное поле просмотра, больше не отображались. Дополнительные сведения см. в статье о проблеме GitHub #9415.
  • Исправлена проблема, из-за которой x:Bind не проверялось значение NULL перед использованием слабой ссылки, что может привести к сбою. Дополнительные сведения см. в статье о проблеме GitHub #9551.
  • Исправлена проблема, из-за которой курсор изменения размера неправильно отображался на краях панели заголовков, когда окно было развернуто, что также вызвало неправильное поведение при щелчке или перетаскивании в этих областях. Дополнительные сведения см. в статье о проблеме GitHub #8665.

Версия 1.5.3 (1.5.240428000)

Это выпуск пакета SDK для приложений Windows, содержащий критические исправления ошибок для выпуска 1.5.

  • Исправлена проблема, из-за которой ItemsRepeater иногда окно было доставлено на передний план.
  • Исправлен потенциальный сбой при обновлении состояния AcrylicBrush прозрачности.
  • Исправлена проблема, из-за ItemsRepeater которой не создавались достаточно элементов, если он был в всплывающем ShouldConstrainToRootBounds="false" окне, который был выше или шире, чем главное окно.
  • Исправлена проблема, из-за которой ошибка MSB4086 могла возникнуть во время сборки, если файл проекта не указал TargetPlatformVersion. Эта ошибка была достигнута в рамках проблемы GitHub #9531.

Версия 1.5.2 (1.5.2404000)

Это выпуск пакета SDK для приложений Windows, который включает критические исправления ошибок для выпуска 1.5 и новую функцию для поставщиков веб-каналов мини-приложений.

Обновления поставщика веб-канала мини-приложений

  • Теперь поставщики веб-каналов могут отображать объявления на панели мониторинга мини-приложений:
    • Новый FeedManager.TryShowAnnouncement API позволяет поставщику веб-каналов запрашивать, чтобы панель мониторинга мини-приложений отображала свои объявления. Чтобы отобразить объявление, создайте FeedAnnouncement объект и вызовите FeedManager.TryShowAnnouncement API.
    • Объявления веб-канала будут иметь собственные эмблемы, отображаемые на панели задач, которые можно настроить с помощью FeedAnnouncement API.
  • Теперь поставщики веб-каналов могут принять сведения об аналитике и отчетах об ошибках о поставщике, как пользователь взаимодействует с ним. Чтобы принять участие, реализуйте IFeedProviderAnalytics интерфейсы поставщика.IFeedProviderErrors

Обновления поставщика веб-каналов включают следующие новые API:

Microsoft.Windows.Widgets.Feeds.Providers
 
    FeedAnalyticsInfoReportedArgs
    FeedErrorInfoReportedArgs
    FeedManager
        SendMessageToContent
        TryShowAnnouncement
 
    FeedMessageReceivedArgs
    FeedResourceRequest
    FeedResourceRequestedArgs
    FeedResourceResponse
    IFeedAnnouncementInvokedTarget
    IFeedManager2
    IFeedProviderAnalytics
    IFeedProviderErrors
    IFeedProviderMessage
    IFeedResourceProvider
Microsoft.Windows.Widgets.Notifications
 
    AnnouncementActionKind
    AnnouncementTextColor
    FeedAnnouncement
    FeedAnnouncementInvokedArgs

Исправления ошибок

  • Исправлена проблема, из-за DispatcherTimer которой не выполнялось правильное время, если основной дисплей не работал в 60 Гц.
  • Исправлена проблема, из-за которой окно редактора метода ввода текстового поля (IME) было неправильно размещено при выполнении в коэффициенте масштабирования, отличном от 100 %. Дополнительные сведения см. в статье о проблеме GitHub #9382.
  • Исправлена проблема, из-за которой операция перетаскивания, запущенная из другого приложения, может не разрешать правильные операции копирования и перемещения или ссылки.
  • Исправлено потенциальное сбое при сбросе элемента ListView ItemsSource и с учетом фокуса сразу.
  • Исправлена проблема, из-за которой ShouldConstrainToRootBounds="false" всплывающие окна и всплывающие элементы не применяют унаследованное преобразование масштабирования. Дополнительные сведения см. в статье о проблемах GitHub #9118 и #9433.
  • Исправлен потенциальный сбой при уничтожении объекта Composition с анимацией.
  • Исправлена потенциальная авария при завершении работы NavigationView::RevokeNavigationViewItemRevokers.

Версия 1.5.1 (1.5.240311000)

Это выпуск пакета SDK для приложений Windows, содержащий критические исправления ошибок для выпуска 1.5.

  • Исправлена проблема, из-за которой автономные приложения могут не создаваться из-за отсутствия возможности копирования "map.html".
  • Исправлена проблема, из-за MapControl которой не удалось инициализироваться из-за отклонения допустимых маркеров. Дополнительные сведения см. в статье о проблеме GitHub #9324.
  • Исправлена проблема, из-за MapControl которой загружен синим фоном. Дополнительные сведения см. в статье о проблеме GitHub #9377.
  • Исправлена проблема, из-за которой нажатие кнопки шеврона NavigationViewItem неправильно разворачивалось или свернуто на одном щелчке. Это также привело к тому, что меню отображаются как пустые при щелчке шеврона в PaneDisplayMode="Top" режиме. Дополнительные сведения см. в статье о проблемах GitHub #9423 и #9426.
  • Исправлена проблема, из-за которой касание NavigationViewItem касания или пера не позволит элементу отвечать на любые будущие входные данные. Дополнительные сведения см. в статье о проблеме GitHub #9429.
  • Исправлен сбой при щелчке NavigationView.PaneFooter элемента в области. Дополнительные сведения см. в статье о проблеме GitHub #9396.
  • Исправлена проблема, из-за которой значки в меню иногда отображались в неправильном месте. Дополнительные сведения см. в статье о проблеме GitHub #9409.
  • Исправлена проблема, из-за которой акрил не отображается в меню, пока не отключается от окна и обратно. Дополнительные сведения см. в статье о проблеме GitHub #9406.
  • Исправлен сбой, который может произойти во время TextBox/RichEditBox инициализации. Дополнительные сведения см. в статье GitHub о проблеме 9216.
  • Исправлены некоторые шумные исключения, которые NavigationView бросили и поймали на уничтожение.
  • Исправлена проблема, из-за которой жест "щипнуть для масштабирования" иногда отображается в виде сдвига или касания из-за неправильного PointerCaptureLost срабатывания сообщения.

Версия 1.5

В следующих разделах описываются новые и обновленные функции и известные проблемы для версии 1.5.

В существующем приложении пакета SDK для приложений Windows 1.4 можно обновить пакет Nuget до версии 1.5.2402270000 (см. раздел "Обновление пакета" в Visual Studio и управление ими с помощью диспетчер пакетов NuGet).

Сведения об обновленной среде выполнения и MSIX см. в разделе "Загрузки" для пакета SDK для приложений Windows.

Обновления среды выполнения и завершения работы XAML Islands

Существует различие поведения между приложениями WinAppSDK 1.4 и WinAppSDK 1.5 для приложений на основе XAML Islands при закрытии последнего окна XAML на любом потоке.

  • В WinAppSDK 1.4 среда выполнения XAML всегда завершает цикл событий потока при закрытии последнего окна XAML в потоке.
  • В WinAppSDK 1.5:
    • Если приложение является классическим приложением WinUI, поведение по умолчанию по-прежнему совпадает с поведением в WinAppSDK 1.4.
    • Если вы используете XAML для API DesktopWindowXamlSource ("XAML Islands") по умолчанию, поведение по умолчанию теперь не завершает цикл событий потока автоматически.
    • В обоих режимах это поведение можно изменить, задав Application.DispatcherShutdownMode свойство.

Дополнительные сведения см. в документации по свойству Application.DispatcherShutdownMode при наличии. Это завершает предложение GitHub #8492.

Существует различие поведения между приложениями WinAppSDK 1.4 и WinAppSDK 1.5 для приложений на основе XAML в течение времени существования среды выполнения XAML:

  • В WinAppSDK 1.4 среда выполнения XAML завершает работу в потоке, если все WindowsXamlManager объекты DesktopWindowXamlSource в заданном потоке закрываются или завершаются, или DispatcherQueue выполняется в этом потоке (в данном случае среда выполнения XAML завершает работу на DispatcherQueue.FrameworkShutdownStarting этапе).
  • В WinAppSDK 1.5 среда выполнения XAML завершает работу в потоке только при завершении работы диспетчера в этом потоке (среда выполнения Xaml всегда завершает работу на DispatcherQueue.FrameworkShutdownStarting этапе).

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

Существует разница в поведении в WindowsXamlManager.InitializeForCurrentThread():

  • В WinAppSDK 1.4 WindowsXamlManager.InitializeForCurrentThread() возвращает уникальный экземпляр WindowsXamlManager объекта с каждым вызовом.
  • В WinAppSDK 1.5 возвращает существующий экземпляр, WindowsXamlManager.InitializeForCurrentThread() если он уже существует в потоке. Close/Dispose() теперь игнорируется.

Элемент управления "Карты WinUI"

Теперь доступен элемент управления WinUI Maps ! Этот элемент управления поддерживается WebView2 и Azure Maps, предоставляя следующие функции:

  • Сдвиг и масштабирование с помощью кнопок карты или сенсорного ввода.
  • Изменение стиля карты на спутник, местность или вид на улицу.
  • Программное добавление взаимодействуемых закреплений с настраиваемыми значками разработчика на карту.
  • Настройка разработчика, на которой карта сосредоточена на начальной загрузке.
  • Управление для разработчиков при скрытии или отображении кнопок для сдвига, масштабирования и стилей карт.

Элемент управления

Примечание.

Чтобы использовать Maps элемент управления, вам потребуется ключ Azure Maps. Чтобы создать ключ, ознакомьтесь со страницей документации по Azure Maps для создания веб-приложения.

Элемент Maps управления совершенно новый, и мы приветствуем ваши отзывы, чтобы оценить свое будущее направление!

Новый элемент управления SelectorBar

В версии 1.5 мы добавили новый SelectorBar элемент управления, позволяющий пользователям переключаться между несколькими представлениями данных. Этот элемент управления ранее был известен как "SegmentedControl" на нашей схеме развития 1.5.

Элемент управления селектора WinUI 3

Метки в основных командах CommandBarFlyout

Визуальные элементы были обновлены CommandBarFlyout , чтобы отобразить текстовую метку для элементов в области основных команд, если Label свойство установлено на сайте AppBarButton. Ранее основные команды в CommandBarFlyout области отображали только значок, но теперь они могут отображать как значок, так и метку для улучшения удобства использования.

Метки WinUI 3 CommandBarFlyout

Поддержка WebView2 для пользовательской среды и параметров

Теперь элемент управления WinUI WebView2 предоставляет возможность настраивать базовый CoreWebView2 объект с помощью пользовательского CoreWebView2Environment и CoreWebView2ControllerOptions. Это позволяет автору приложения указать альтернативный путь, из которого нужно загрузить WebView2Runtime, выбрать другой userDataFolder или задать такие параметры, как IsPrivateModeEnabled и ScriptLocale.

Поддержка .NET 8

Мы добавили поддержку .NET 8 в недавнем выпуске обслуживания версии 1.4, но по-прежнему сохраняли предупреждение об использовании идентификаторов RID для конкретной платформы. В версии 1.5 мы завершили работу, чтобы предупреждение больше не присутствовало.

Улучшенная отладка и доступность источников

Теперь мы внедряем сведения о исходном сервере Github для кода в репозитории microsoft-ui-xaml в общедоступные символы, что позволяет отладчикам автоматически скачивать исходный код. Мы также сделали другие исправления и улучшения наших символов во всем WinAppSDK, чтобы улучшить возможности отладки.

Улучшенные функциональные возможности для отладки циклов макета

Отладка циклов макета в приложении WinUI может быть проблемой, поэтому в версии 1.5 DebugSettings объект теперь предоставляет параметры, позволяющие улучшить ведение журнала и точки останова для процесса макета, чтобы упростить отладку и исправление циклов макета в приложении.

Другие новые возможности из WinAppSDK

  • Добавлена поддержка модели развертывания PublishSingleFile. Дополнительные сведения о PublishSingleFile см. в документации по развертыванию с одним файлом.
  • Добавлены улучшения для поддержки средства чтения с экрана, поддержки масштабирования текста и других функций специальных возможностей.
  • Различные улучшения стабильности и производительности на основе наших приоритетных ошибок GitHub.

Новые функции, выпущенные отдельно

Новые версии шаблонов Visual Studio WinAppSDK для C# и C++ выпускаются через Visual Studio Marketplace, и они появятся через несколько недель после выпуска версии 1.5. С новой версией шаблоны теперь могут быть выпущены независимо от выпусков WinAppSDK, что дает нам гораздо большую гибкость в получении обновлений для клиентов.

Другие ранее запланированные функции

В 1.5 мы добились прогресса по следующим функциям, которые мы объявили о нашей стратегии, но не завершили их. Они будут продолжаться в период времени 1,6.

  • Окна с вкладками
  • Поддержка перетаскивания для WebView2
    • Чтобы уточнить, в версии 1.5 перетаскивание в WebView2 поддерживается, например перетаскивание PNG из проводник в Bing для визуального поиска. Работа продолжается в версии 1.6 для поддержки перетаскивания из WebView2.
  • Исследования представлений таблиц и элементов управления рукописным вводом

Динамическое освещение было удалено из стратегии в течение времени.

Известные проблемы

  • При использовании библиотек, содержащих такие ресурсы, как XAML-файлы, может возникнуть сообщение об ошибке во время выполнения, указывающее, что эти ресурсы не найдены. В этом случае может потребоваться вставить <ShouldComputeInputPris>true</ShouldComputeInputPris> в файл проекта, чтобы обеспечить включение этих ресурсов.
  • Щелкнув шеврон NavigationViewItem больше не правильно разворачивается или свернуто на одном щелчке. Двойной щелчок по-прежнему работает, как и щелчок в NavigationViewItemдругом месте.

Исправления ошибок

  • Исправлена проблема, из-за которой StackPanel применен интервал к свернутым элементам. Дополнительные сведения см. в статье о проблеме GitHub #916.
  • Исправлены проблемы с элементами управления прокруткой, которые больше не работают после закрытия другого окна приложения. Дополнительные сведения см. в статье о проблемах GitHub #9292 и #9355.
  • Исправлен сбой при задании DebugSettings.EnableFrameRateCounterзначения true до отрисовки первого кадра. Дополнительные сведения см. в статье о проблеме GitHub #2835.
  • Исправлена потенциальная ошибка компиляции для C++, в которой некоторые заголовки не включали необходимые зависимости. Обратите внимание, что изменение #include порядка может повлиять на некоторые приложения, например, причинив ошибку компиляции, IInspectable если приложение использует версию C++/WinRT старше 2023 года. Дополнительные сведения см. в статье о проблеме GitHub #9014.
  • Исправлена проблема, из-за которой ElementName привязки не работали внутри ItemsRepeaterDataTemplate. Дополнительные сведения см. в статье о проблеме GitHub #560.
  • Исправлена ошибка при запуске приложения в Visual Studio с включенной панелью инструментов в приложении. Для полного получения исправлений требуется Visual Studio 17.8 ( предварительная версия 2 или более поздняя версия). Дополнительные сведения см. в статье о проблеме GitHub #8806.
  • Исправлена проблема, из-за которой AnnotatedScrollbar иногда произошел сбой при быстрой прокрутке.
  • Исправлена проблема, из-за которой текст меню иногда усекается.
  • Исправлена проблема, из-за которой советы по обучению не получали правильного фокуса. Дополнительные сведения см. в статье о проблеме GitHub #3257.
  • Исправлена проблема, из-за которой приложение завершило сбой при установке TailVisibilityTeachingTip значения "Свернутый " при запуске. Дополнительные сведения см. в статье о проблеме GitHub #8731.
  • Исправлена проблема с обработкой файлов PRI при использовании библиотек. Дополнительные сведения см. в статье о проблеме GitHub #8857.
  • Исправлена проблема из выпуска 1.5-экспериментального2, в котором библиотека DLL проекции не была создана. Дополнительные сведения см. в статье о проблеме GitHub #4152.
  • Исправлена проблема, из-за которой кнопка с многоточием в всплывающем RichEditBox реплике форматирования текста не отображала список действий должным образом. Дополнительные сведения см. в статье о проблеме GitHub #9140.
  • Исправлена проблема, из-за которой ListView не обрабатывались ускорители клавиатуры должным образом. Дополнительные сведения см. в статье о проблеме GitHub #8063.
  • Исправлена проблема с нарушением доступа при закрытии AccessKey окна. Дополнительные сведения см. в статье о проблеме GitHub #8648.
  • Исправлен сбой при закрытии AccessKey окна. Дополнительные сведения см. в статье о проблеме GitHub #9002.
  • Исправлена проблема, влияющая на выравнивание текста в пределах MenuFlyoutItemMenuBar. Дополнительные сведения см. в статье о проблеме GitHub #8755.
  • Исправлена проблема, из-за которой выделенный текст не оставался выделенным при щелчке правой кнопкой мыши. Дополнительные сведения см. в статье о проблеме GitHub #1801.
  • Исправлена проблема, из-за которой неактивные окна завершались сбоем приложения при закрытии. Дополнительные сведения см. в статье о проблеме GitHub #8913.
  • Исправлена проблема, которая может зависать приложения при прокрутке с помощью средней кнопки мыши и нажатия слева сразу после этого. Дополнительные сведения см. в статье о проблеме GitHub #9233.
  • Исправлена проблема, из-за которой приложения завершались сбоем при запуске при использовании пользовательского NavigationViewItem. Дополнительные сведения см. в статье о проблеме GitHub #8814.
  • NavigationView Исправлена проблема, из-за которой кнопка с многоточием неправильно создаст ошибку. Дополнительные сведения см. в статье о проблеме GitHub #8380.
  • Исправлена проблема, из-за которой SystemBackdrop неправильно отрисовывается в приложении с несколькими окнами. Дополнительные сведения см. в статье о проблеме GitHub #8423.
  • Исправлена проблема дублирования при вставке в начало ObservableCollectionобъекта. Дополнительные сведения см. в статье о проблеме GitHub #8370.