Заметки о выпуске стабильного канала для пакета SDK для приложений Windows 1.5
Стабильный канал предоставляет выпуски пакета SDK для приложений Windows, которые поддерживаются приложениями в рабочих средах. Приложения, использующие стабильный выпуск пакета SDK для приложений Windows, также можно опубликовать в Microsoft Store.
Важные ссылки:
- Если вы хотите обновить существующее приложение с более старой версии пакета SDK для приложений Windows до более новой версии, ознакомьтесь с обновлением существующих проектов до последнего выпуска пакета SDK для приложений Windows.
Последний выпуск стабильного канала:
Скачиваемые файлы пакета 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.
Метки в основных командах CommandBarFlyout
Визуальные элементы были обновлены CommandBarFlyout
, чтобы отобразить текстовую метку для элементов в области основных команд, если Label
свойство установлено на сайте AppBarButton
. Ранее основные команды в 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
привязки не работали внутриItemsRepeater
DataTemplate
. Дополнительные сведения см. в статье о проблеме GitHub #560. - Исправлена ошибка при запуске приложения в Visual Studio с включенной панелью инструментов в приложении. Для полного получения исправлений требуется Visual Studio 17.8 ( предварительная версия 2 или более поздняя версия). Дополнительные сведения см. в статье о проблеме GitHub #8806.
- Исправлена проблема, из-за которой
AnnotatedScrollbar
иногда произошел сбой при быстрой прокрутке. - Исправлена проблема, из-за которой текст меню иногда усекается.
- Исправлена проблема, из-за которой советы по обучению не получали правильного фокуса. Дополнительные сведения см. в статье о проблеме GitHub #3257.
- Исправлена проблема, из-за которой приложение завершило сбой при установке
TailVisibility
TeachingTip
значения "Свернутый " при запуске. Дополнительные сведения см. в статье о проблеме GitHub #8731. - Исправлена проблема с обработкой файлов PRI при использовании библиотек. Дополнительные сведения см. в статье о проблеме GitHub #8857.
- Исправлена проблема из выпуска 1.5-экспериментального2, в котором библиотека DLL проекции не была создана. Дополнительные сведения см. в статье о проблеме GitHub #4152.
- Исправлена проблема, из-за которой кнопка с многоточием в всплывающем
RichEditBox
реплике форматирования текста не отображала список действий должным образом. Дополнительные сведения см. в статье о проблеме GitHub #9140. - Исправлена проблема, из-за которой
ListView
не обрабатывались ускорители клавиатуры должным образом. Дополнительные сведения см. в статье о проблеме GitHub #8063. - Исправлена проблема с нарушением доступа при закрытии
AccessKey
окна. Дополнительные сведения см. в статье о проблеме GitHub #8648. - Исправлен сбой при закрытии
AccessKey
окна. Дополнительные сведения см. в статье о проблеме GitHub #9002. - Исправлена проблема, влияющая на выравнивание текста в пределах
MenuFlyoutItem
MenuBar
. Дополнительные сведения см. в статье о проблеме GitHub #8755. - Исправлена проблема, из-за которой выделенный текст не оставался выделенным при щелчке правой кнопкой мыши. Дополнительные сведения см. в статье о проблеме GitHub #1801.
- Исправлена проблема, из-за которой неактивные окна завершались сбоем приложения при закрытии. Дополнительные сведения см. в статье о проблеме GitHub #8913.
- Исправлена проблема, которая может зависать приложения при прокрутке с помощью средней кнопки мыши и нажатия слева сразу после этого. Дополнительные сведения см. в статье о проблеме GitHub #9233.
- Исправлена проблема, из-за которой приложения завершались сбоем при запуске при использовании пользовательского
NavigationViewItem
. Дополнительные сведения см. в статье о проблеме GitHub #8814. -
NavigationView
Исправлена проблема, из-за которой кнопка с многоточием неправильно создаст ошибку. Дополнительные сведения см. в статье о проблеме GitHub #8380. - Исправлена проблема, из-за которой
SystemBackdrop
неправильно отрисовывается в приложении с несколькими окнами. Дополнительные сведения см. в статье о проблеме GitHub #8423. - Исправлена проблема дублирования при вставке в начало
ObservableCollection
объекта. Дополнительные сведения см. в статье о проблеме GitHub #8370.
См. также
- Последние заметки о выпуске канала предварительной версии для пакета SDK для приложений Windows
- Последние заметки о выпуске экспериментального канала для пакета SDK для приложений Windows
- Установка инструментов для Windows App SDK
- Создание первого проекта WinUI 3 (пакет SDK для приложений Windows)
- Использование пакета Windows App SDK в существующем проекте
- Общие сведения о развертывании
Windows developer