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

Внимание

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

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

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

Архив заметки о выпуске канала предварительной версии:

Версия 1.6(предварительная версия 2) (1.6.0-preview2)

Это последний выпуск канала предварительной версии для версии 1.6.

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

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

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

Обязательные изменения проекта C# для версии 1.6-preview2

Для этого выпуска также требуется руководство по проекту C# из версии 1.6-preview1 .

Поддержка собственного AOT

1.6-preview2 включает значительные изменения, которые необходимо обновить до выпущенной версии Microsoft.Windows.CsWinRT версии 2.1.1 и сделать сборку более надежной для собственной компиляции в преддверии времени.

Обновлена интеграция пакета SDK Для Edge WebView2

Этот выпуск теперь ссылается на выпущенную версию пакета 1.0.2651.64, которая должна устранять проблемы с предварительной версией Microsoft.Web.WebView2 , на которую ссылается версия 1.6-preview1. Как отмечалось в версии 1.6-preview1, приложения теперь смогут выбрать более новую версию Microsoft.Web.WebView2 пакета при желании.

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

1.6-preview2 содержит следующие новые исправления после выпуска 1.6-preview1:

  • Исправлен сбой при задании InfoBar.IsOpen в XAML. Дополнительные сведения см. в статье о проблеме GitHub #8391.
  • Исправлена проблема, из-за которой элементы HTML потеряют запись указателя при перемещении мыши за пределы WebView2 границ. Дополнительные сведения см. в статье о проблеме GitHub #8677.
  • Исправлена проблема, из-за которой перетаскивание и перетаскивание в всплывающее ShouldConstrainToRootBounds=false меню не работало. Дополнительные сведения см. в статье GitHub о проблеме 9276.
  • Исправлена проблема, из-за которой ms-appx:// ссылки не работали при PublishSingleFile включении. Дополнительные сведения см. в статье о проблеме GitHub #9468.
  • Исправлена проблема, из-за которой символы отладчика не работали правильно для некоторых двоичных файлов. Дополнительные сведения см. в статье о проблеме GitHub #4633.
  • Исправлен разрыв сборки при использовании /permissive-. Дополнительные сведения см. в статье о проблеме GitHub #4643.
  • Исправлена пара критических изменений API в версии 1.6-preview1, вызванная переименованными параметрами. Дополнительные сведения см. в статье о проблеме GitHub #4645.
  • Исправлены разрывы сборки конфликтов типов, пострадавшие от некоторых проектов в версии 1.6-preview1, особенно с типами Windows.UI.Text . Дополнительные сведения см. в статье о проблеме GitHub #4646.
  • Исправлена проблема с поиском ресурсов по библиотекам элементов управления в версии 1.6-preview1. Дополнительные сведения см. в статье о проблеме GitHub #4649.
  • Исправлен потенциальный сбой при подклассах NavigationView.
  • Исправлена проблема, из-за которой границы таблицы не RichEditBox были правильно удалены при прокрутке или уменьшении размера таблицы.
  • Исправлена проблема, из-за которой всплывающие элементы имели MediaTransportControls полностью прозрачный фон.
  • Исправлена проблема, из-за которой перетаскивание в WebView2 завершилось ошибкой или сбоем в неправильном расположении на коэффициентах масштабирования отображения, отличных от 100 % или при включении масштабирования системного текста.
  • Исправлена проблема TextBox/RichEditBox , из-за которой не объявлять средства специальных возможностей при блокировке MaxLength входных данных из-за ограничения.

Версия 1.6(предварительная версия 1) (1.6.0-preview1)

Это последний выпуск канала предварительной версии для версии 1.6.

В существующем приложении пакета SDK для приложений Windows 1.5 (из стабильного канала) можно обновить пакет Nuget до версии 1.6.0-preview1 (см. раздел "Обновление пакета" в Visual Studio и управление ими с помощью nuGet диспетчер пакетов).

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

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

Примечание.

Новый элемент управления TitleBar, выпущенный в версии 1.6-experimental1, еще не доступен в не экспериментальных сборках версии 1.6, чтобы позволить больше времени оценивать и реагировать на отзывы сообщества. Мы получили много большого вклада здесь и хотим убедиться, что мы забираем время, необходимое для ее решения.

Обязательные изменения проекта C# для версии 1.6-preview1

В версии 1.6-preview1 управляемые приложения windows App SDK требуют Microsoft.Windows.SDK.NET.Ref*.*.*.38, которые можно указать с помощью WindowsSdkPackageVersion в файлеcsproj. Например:

<Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
       <OutputType>WinExe</OutputType>
       <TargetFramework>net8.0-windows10.0.22621.0</TargetFramework>
       <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
       <WindowsSdkPackageVersion>10.0.22621.38</WindowsSdkPackageVersion>
   <PropertyGroup>
   ...

Кроме того, управляемые приложения пакета SDK для Приложений Windows должны обновляться до Microsoft.Windows.CsWinRT 2.1.1 (или более поздней версии).

Поддержка собственного AOT

Теперь свойство проекта .NET PublishAot поддерживается для собственной компиляции "Впереди времени". Дополнительные сведения о собственном AOT см. в разделе "Собственное развертывание AOT". Так как AOT основывается на поддержке Trimming, большая часть руководства, связанного с Trimming, ранее описанная в выпуске 1.6-экспериментальной1, также применяется. Дополнительные сведения см . в поддержке Native AOT.

Как отмечалось выше, проекты C# должны иметь ссылку на пакет Microsoft.Windows.CsWinRT 2.1.1 (или более поздней версии). Эта версия включает в себя безопасную ICustomPropertyProvider реализацию AOT. Типы, используемые с этой поддержкой, должны быть помечены атрибутом WinRT.GeneratedBindableCustomProperty вместе с создаваемым partial.

Интеграция с пакетом SDK для Edge WebView2

Пакет SDK для приложений Windows теперь использует пакет SDK Для Edge WebView2 в качестве ссылки на NuGet, а не внедряет жестко закодированную версию пакета SDK Edge WebView2. Новая модель позволяет приложениям выбирать более новую версию Microsoft.Web.WebView2 пакета, а не ограничиваться версией, с помощью которой был создан пакет SDK для Windows. Новая модель также позволяет приложениям ссылаться на пакеты NuGet, которые также ссылались на пакет SDK Edge WebView2. Дополнительные сведения см. в статье о проблеме GitHub #5689.

Новые API развертывания пакетов

API управления пакетами получил несколько улучшений, включая Is*ReadyOrNewerAvailable*(), EnsureReadyOptions.RegisterNewerIfAvailable, Is*Provisioned*(), IsPackageRegistrationPending() и несколько исправлений ошибок. Дополнительные сведения см . в разделе PackageManagement.md и запрос на вытягивание #4453 .

Улучшенный разрыв вкладки TabView

TabView поддерживает новый CanTearOutTabs режим, который предоставляет расширенный интерфейс для перетаскивания вкладок и перетаскивания в новое окно. Если этот новый параметр включен, перетаскивание вкладок очень похоже на режим перетаскивания вкладок в Edge и Chrome, где новое окно сразу же создается во время перетаскивания, что позволяет пользователю перетаскивать его на край экрана, чтобы развернуть или привязать окно в одном плавном движении. Эта реализация также не использует API перетаскивания, поэтому это не влияет на какие-либо ограничения в этих API. В частности, разрыв вкладки поддерживается в процессах, работающих с повышенными привилегиями от имени администратора.

Другие важные изменения

  • Мы добавили новый ColorHelper.ToDisplayName() API, заполнив этот разрыв от UWP.
  • Добавлен новый класс, который, в частности, включает в Microsoft.Windows.Globalization.ApplicationLanguages себя новую PrimaryLanguageOverride функцию. Дополнительные сведения см. в статье о проблеме GitHub #4523.
  • Неуправляемый ItemsWrapGrid. Это должно быть изменение, совместимое с обратной совместимостью.
  • PipsPager поддерживает новый режим, в котором он может выполнять оболочку между первыми и элементами списка.
  • RatingControl теперь является более настраиваемым, переместив некоторые жестко закодированные свойства стиля в ресурсы темы. Это позволяет приложениям переопределить эти значения, чтобы лучше настроить внешний вид RatingControl.

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

  • Если отладчик настроен на разрыв для всех исключений C++, он разорвит пару шумных исключений при запуске в коде BCP47 (глобализация Windows).

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

  • Исправлены некоторые проблемы, связанные с обработкой сценариев пользовательской панели заголовков. Дополнительные сведения см. в статье о проблемах GitHub #7629, #9670, #9709 и #8431.
  • Исправлена проблема, из-за которой InfoBadge значок не был видимым. Дополнительные сведения см. в статье о проблеме GitHub #8176.
  • Исправлена проблема со значками, которые иногда отображаются в неправильной позиции CommandBarFlyout. Дополнительные сведения см. в статье о проблеме GitHub #9409.
  • Исправлена проблема с фокусом клавиатуры в меню при открытии или закрытии подмены. Дополнительные сведения см. в статье о проблеме GitHub #9519.
  • Исправлена проблема с TreeView использованием неправильного IsExpanded состояния при перезапуске элементов. Дополнительные сведения см. в статье о проблеме GitHub #9549.
  • Исправлена проблема при использовании привязки ElementName в объекте ItemsRepeater.ItemTemplate. Дополнительные сведения см. в статье о проблеме GitHub #9715.
  • Исправлена проблема с первым элементом в ItemsRepeater иногда с неправильной позицией. Дополнительные сведения см. в статье о проблеме GitHub #9743.
  • Исправлена проблема с InputNonClientPointerSource иногда критическим вводом к кнопкам min/max/close. Дополнительные сведения см. в статье о проблеме GitHub #9749.
  • Исправлена ошибка компиляции при использовании Microsoft.UI.Interop.h с clang-cl. Дополнительные сведения см. в статье о проблеме GitHub #9771.
  • Исправлена проблема, из-за которой CharacterReceived событие не работало/ComboBoxTextBox. Дополнительные сведения см. в статье о проблеме GitHub #9786.
  • Исправлена проблема в экспериментальных сборках версии 1.6, в которой поведение CanTearOutTabs ввода указателя неправильно для мониторов с коэффициентом масштабирования отличается от 100 %. Дополнительные сведения см. в статье о проблеме GitHub #9791.
  • Исправлена проблема в сборке 1.6-экспериментальной2, в которой некоторые переводы языков имели проблемы с кодировкой символов.ColorHelper.ToDisplayName()
  • Исправлена проблема с 1.6-экспериментальной1, где NumberBox не использовался правильный передний план и фоновые цвета. Дополнительные сведения см. в статье о проблеме GitHub #9714.
  • Исправлена проблема, из-за которой повторяющиеся KeyUp события были вызваны для клавиш со стрелками и вкладками. Дополнительные сведения см. в статье о проблеме GitHub #9399.
  • Исправлена проблема, из-за которой PowerManager.SystemSuspendStatusChanged событие было непригодным для получения SystemSuspendStatus. Дополнительные сведения см. в статье о проблеме GitHub #2833.
  • Исправлена проблема, из-за которой начальный фокус клавиатуры не был правильно задан WebView2 , когда это был единственный элемент управления в окне.
  • Исправлена проблема, при использовании ExtendsContentIntoTitleBar=true которой кнопки Min/Max/Close не отображались в модель автоматизации пользовательского интерфейса, что не позволило отображать номера голосовых кнопок.
  • Исправлена проблема, из-за которой приложение может завершиться сбоем в проверке блокировки из-за неожиданного повторного входа.
  • Исправлена проблема, из-за которой Hyperlink цвета неправильно обновлялись при переключении в тему высокой контрастности.
  • Исправлена проблема, из-за которой изменение коллекции ListView в фоновом окне может неправильно переместить это окно на передний план и сосредоточиться.
  • Исправлена проблема из 1.6-экспериментальной версии, из-за которой параметр AcrylicBrush.TintLuminosityOpacity в XAML в проекте библиотеки классов завершился сбоем с ошибкой преобразования типов.
  • Исправлена проблема, из-за которой вызов ItemsRepeater.StartBringIntoView иногда может привести к исчезновению элементов.
  • Исправлена проблема, из-за которой касание и перетаскивание в ней Button ScrollViewer осталось бы в состоянии нажатия.
  • Обновлена технология IntelliSense, которая отсутствовала для многих новых типов и членов.
  • Исправлена проблема, из-за которой щелкнуть пустую область ScrollViewer фокуса всегда перемещается к первому фокусируемому элементу управления в ScrollViewer элементе управления и прокрутите его в режиме просмотра. Дополнительные сведения см. в статье о проблеме GitHub #597.
  • Исправлена проблема, из-за которой Window.Activated событие иногда запускалось несколько раз. Дополнительные сведения см. в статье о проблеме GitHub #7343.
  • Исправлена проблема, из-за которой свойство NavigationViewItem.IsSelected true не позволяло отображать дочерние элементы при развертывании. Дополнительные сведения см. в статье о проблеме GitHub #7930.
  • Исправлена проблема, из-за которой MediaPlayerElement неправильно отображались заголовки с None эффектами края или DropShadow эффектами края. Дополнительные сведения см. в статье о проблеме GitHub #7981.
  • Исправлена проблема, из-за которой Flyout.ShowMode свойство не использовалось при отображении всплывающего элемента. Дополнительные сведения см. в статье о проблеме GitHub #7987.
  • Исправлена проблема, из-за которой NumberBox иногда возникают ошибки округления. Дополнительные сведения см. в статье о проблеме GitHub #8780.
  • Исправлена проблема, из-за которой использование библиотеки, скомпилированной в более старой версии WinAppSDK, может привести к ошибке, пытающейся найти тип или свойство. Дополнительные сведения см. в статье о проблеме GitHub #8810.
  • Исправлена проблема, из-за которой при запуске окна начальная фокуса клавиатуры не была задана. Дополнительные сведения см. в статье о проблеме GitHub #8816.
  • Исправлена проблема, из-за которой FlyoutShowMode.TransientWithDismissOnPointerMoveAway она не работала после первого отображения. Дополнительные сведения см. в статье о проблеме GitHub #8896.
  • Исправлена проблема, из-за которой некоторые элементы управления не правильно привязывался Foreground к шаблону и Background свойствам. Дополнительные сведения см. в статье о проблеме GitHub #7070, #9020, #9029, #9083 и #9102.
  • Исправлена проблема, из-за которой ThemeResourceв наборах не обновлялось VisualStateManager изменение темы. Часто затронутые элементы управления во всплывающих элементах управления. Дополнительные сведения см. в статье о проблеме GitHub #9198.
  • Исправлена проблема, из-за WebView которой основной фокус теряется, что приводит к дополнительным событиям размытия или фокуса и другим проблемам. Дополнительные сведения см. в статье о проблеме GitHub #9288.
  • Исправлена проблема, из-за которой NavigationView в выходных данных отладки может отображаться ошибка привязки. Дополнительные сведения см. в статье о проблеме GitHub #9384.
  • Исправлена проблема, из-за которой файлы SVG, определяющие отрицательное поле просмотра, больше не отображались. Дополнительные сведения см. в статье о проблеме GitHub #9415.
  • Исправлена проблема, из-за которой изменение ItemsView.Layout ориентации привело к удалению элемента. Дополнительные сведения см. в статье о проблеме GitHub #9422.
  • Исправлена проблема, из-за которой прокрутка созданного ScrollView большого количества выходных данных отладки. Дополнительные сведения см. в статье о проблеме GitHub #9434.
  • Исправлена проблема, из-за которой MapContorl.InteractiveControlsVisible не работали должным образом. Дополнительные сведения см. в статье о проблеме GitHub #9486.
  • Исправлена проблема, из-за которой MapControl.MapElementClick событие не срабалось должным образом. Дополнительные сведения см. в статье о проблеме GitHub #9487.
  • Исправлена проблема, из-за которой x:Bind не проверял значение NULL перед использованием слабой ссылки, что может привести к сбою. Дополнительные сведения см. в статье о проблеме GitHub #9551.
  • Исправлена проблема, из-за которой изменение TeachingTip.Target свойства неправильно обновлялось. Дополнительные сведения см. в статье о проблеме GitHub #9553.
  • Исправлена проблема, из-за которой раскрывающийся список не ответил в WebView2. Дополнительные сведения см. в статье о проблеме GitHub #9566.
  • Исправлена утечка памяти при использовании GeometryGroup. Дополнительные сведения см. в статье о проблеме GitHub #9578.
  • Исправлена проблема, из-за которой прокрутка очень большого количества элементов из элемента в объекте ItemRepeater ScrollView может привести к пустым кадрам отрисовки. Дополнительные сведения см. в статье о проблеме GitHub #9643.
  • Исправлена проблема, из-за которой SceneVisual не работало.

Новые API в версии 1.6.0-preview1

Версия 1.6-preview1 включает следующие новые API по сравнению с стабильным выпуском 1.5:

Microsoft.UI

    ColorHelper
        ToDisplayName
Microsoft.UI.Input

    EnteredMoveSizeEventArgs
    EnteringMoveSizeEventArgs
    ExitedMoveSizeEventArgs
    InputNonClientPointerSource
        EnteredMoveSize
        EnteringMoveSize
        ExitedMoveSize
        WindowRectChanged
        WindowRectChanging

    MoveSizeOperation
    WindowRectChangedEventArgs
    WindowRectChangingEventArgs
Microsoft.UI.Xaml

    XamlRoot
        CoordinateConverter
Microsoft.UI.Xaml.Automation.Peers

    ScrollPresenterAutomationPeer
Microsoft.UI.Xaml.Controls

    PipsPager
        WrapMode
        WrapModeProperty

    PipsPagerWrapMode
    TabView
        CanTearOutTabs
        CanTearOutTabsProperty
        ExternalTornOutTabsDropped
        ExternalTornOutTabsDropping
        TabTearOutRequested
        TabTearOutWindowRequested

    TabViewExternalTornOutTabsDroppedEventArgs
    TabViewExternalTornOutTabsDroppingEventArgs
    TabViewTabTearOutRequestedEventArgs
    TabViewTabTearOutWindowRequestedEventArgs
Microsoft.Windows.Globalization

    ApplicationLanguages
Microsoft.Windows.Management.Deployment

    EnsureReadyOptions
        RegisterNewerIfAvailable

    PackageDeploymentFeature
    PackageDeploymentManager
        IsPackageDeploymentFeatureSupported
        IsPackageProvisioned
        IsPackageProvisionedByUri
        IsPackageReadyOrNewerAvailable
        IsPackageReadyOrNewerAvailableByUri
        IsPackageSetProvisioned
        IsPackageSetReadyOrNewerAvailable

    PackageReadyOrNewerAvailableStatus
Microsoft.Windows.Storage

    ApplicationData
    ApplicationDataContainer
    ApplicationDataContract
    ApplicationDataCreateDisposition
    ApplicationDataLocality