Delen via


Releaseopmerkingen voor het previewkanaal van de Windows App SDK 1.6

Belangrijk

Het preview-kanaal wordt niet ondersteund voor gebruik in productieomgevingen, en apps die gebruikmaken van de preview-versies kunnen niet worden gepubliceerd in de Microsoft Store.

Het preview-kanaal bevat releases van de Windows App SDK met preview-kanaalfuncties in latere ontwikkelingsfasen. Preview-versies bevatten geen experimentele functies en API's, maar kunnen nog steeds onderhevig zijn aan belangrijke wijzigingen vóór de volgende stabiele release.

Belangrijke koppelingen:

Versie 1.6 Preview 2 (1.6.0-preview2)

Dit is de nieuwste versie van het preview-kanaal voor versie 1.6.

In een bestaande Windows App SDK 1.5-app (vanuit het stabiele kanaal) kunt u uw Nuget-pakket bijwerken naar 1.6.0-preview2 (zie de sectie Een pakket bijwerken in Pakketten installeren en beheren in Visual Studio met behulp van de NuGet Package Manager-).

Voor de bijgewerkte runtime en MSIX, zie Downloads voor de Windows App SDK.

Nieuwe functies

Vereiste C#-projectwijzigingen voor 1.6-preview2

De C#-projectrichtlijnen van 1.6-preview1 zijn ook vereist voor deze release.

Ingebouwde AOT-ondersteuning

1.6-preview2 bevat belangrijke wijzigingen voor het bijwerken van de uitgebrachte Microsoft.Windows.CsWinRT versie 2.1.1 en het bouwen betrouwbaarder maken voor native Ahead-Of-Time compilatie.

Edge WebView2 SDK-integratie bijgewerkt

Deze release verwijst nu naar de uitgebrachte versie 1.0.2651.64 van het Microsoft.Web.WebView2-pakket, die problemen met de voorlopige versie moet oplossen waarnaar wordt verwezen in 1.6-preview1. Zoals vermeld in 1.6-preview1, kunnen apps indien gewenst een nieuwere versie van het Microsoft.Web.WebView2-pakket kiezen.

Bugfixes

1.6-preview2 bevat de volgende nieuwe oplossingen sinds de release van 1.6-preview1:

  • Er is een crash opgelost bij het instellen van InfoBar.IsOpen in .xaml. Zie GitHub-probleem #8391voor meer informatie.
  • Er is een probleem opgelost waarbij HTML-elementen de aanwijzer zouden verliezen wanneer de muis buiten de WebView2 grenzen werd verplaatst. Zie GitHub-probleem #8677voor meer informatie.
  • Er is een probleem opgelost waarbij het slepen en neerzetten in een flyout met ShouldConstrainToRootBounds=false niet werkte. Zie GitHub-probleem #9276voor meer informatie.
  • Er is een probleem opgelost waarbij ms-appx:// verwijzingen niet werkten wanneer PublishSingleFile is ingeschakeld. Zie GitHub-probleem #9468voor meer informatie.
  • Er is een probleem opgelost waarbij foutopsporingsprogrammasymbolen niet correct werkten voor sommige binaire bestanden. Zie GitHub-probleem #4633voor meer informatie.
  • Er is een buildfout opgelost bij het gebruik van /permissive-. Zie GitHub-probleem #4643voor meer informatie.
  • Er zijn een aantal wijzigingen opgelost die fouten veroorzaken in de API in 1.6-preview1, veroorzaakt door hernoemde parameters. Zie GitHub-probleem #4645voor meer informatie.
  • Build-onderbrekingen veroorzaakt door typeconflicten zijn opgelost in sommige projecten in 1.6-preview1, met name bij Windows.UI.Text typen. Zie GitHub-probleem #4646voor meer informatie.
  • Er is een probleem opgelost met het opzoeken van resources door besturingselementenbibliotheken in 1.6-preview1. Zie GitHub-probleem #4649voor meer informatie.
  • Er is een mogelijke crash opgelost bij het gebruik van subklassen van NavigationView.
  • Er is een probleem opgelost waarbij tabelranden in een RichEditBox niet correct worden gewist bij het schuiven of verkleinen van de grootte van de tabel.
  • Er is een probleem opgelost waarbij flyouts van MediaTransportControls een volledig transparante achtergrond hadden.
  • Er is een probleem opgelost waarbij slepen naar een WebView2 mislukt of neervalt op de verkeerde locatie op andere weergaveschaalfactoren dan 100% of wanneer het schalen van systeemteksten is ingeschakeld.
  • Er is een probleem opgelost waarbij TextBox/RichEditBox geen toegankelijkheidsprogramma's aankondigde wanneer invoer wordt geblokkeerd vanwege een MaxLength limiet.

Versie 1.6 Preview 1 (1.6.0-preview1)

Dit is de nieuwste versie van het preview-kanaal voor versie 1.6.

In een bestaande Windows App SDK 1.5-app (vanuit het stabiele kanaal) kunt u uw Nuget-pakket bijwerken naar 1.6.0-preview1 (zie de sectie Een pakket bijwerken in Pakketten installeren en beheren in Visual Studio met behulp van de NuGet Package Manager-).

Voor de bijgewerkte runtime en MSIX, zie Downloads voor de Windows App SDK.

Nieuwe functies

Notitie

Het nieuwe titelbalkbesturingselement dat we hebben uitgebracht in 1.6-experimenteel1, is nog niet beschikbaar in niet-experimentele builds van 1.6, zodat er meer tijd is om feedback van de community te evalueren en erop te reageren. We hebben hier veel goede input ontvangen en willen ervoor zorgen dat we de tijd nemen die nodig is om dit te verhelpen.

Vereiste C#-projectwijzigingen voor 1.6-preview1

In 1.6-preview1 vereisen beheerde Windows App SDK-apps Microsoft.Windows.SDK.NET.Ref*.*.*.38, die kunnen worden opgegeven via WindowsSdkPackageVersion- in uw csproj-bestand. Bijvoorbeeld:

<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>
   ...

Bovendien moeten beheerde windows App SDK-apps worden bijgewerkt naar Microsoft.Windows.CsWinRT-2.1.1 (of hoger).

Systeemeigen AOT-ondersteuning

De .NET PublishAot-projecteigenschap wordt nu ondersteund voor native Ahead-Of-Time-compilatie. Zie Systeemeigen AOT-implementatievoor meer informatie over systeemeigen AOT. Omdat AOT voortbouwt op Trimming-ondersteuning, is ook veel van de richtlijnen met betrekking tot Trimming die eerder zijn beschreven in de 1.6-experimental1-release van toepassing. Zie Native AOT-ondersteuning voor meer informatie.

Zoals hierboven vermeld, moeten C#-projecten een pakketverwijzing hebben naar Microsoft.Windows.CsWinRT 2.1.1 (of hoger). Deze versie bevat een AOT-veilige ICustomPropertyProvider-implementatie. Typen die met deze ondersteuning worden gebruikt, moeten worden gemarkeerd met het kenmerk WinRT.GeneratedBindableCustomProperty en als partialworden aangemaakt.

Edge WebView2 SDK-integratie gewijzigd

De Windows App SDK gebruikt nu de Edge WebView2 SDK als NuGet-verwijzing in plaats van een in code vastgelegde versie van de Edge WebView2 SDK in te sluiten. Met het nieuwe model kunnen apps een nieuwere versie van het Microsoft.Web.WebView2-pakket kiezen in plaats van te worden beperkt tot de versie waarmee de Windows App SDK is gebouwd. Met het nieuwe model kunnen apps ook verwijzen naar NuGet-pakketten die ook verwijzen naar de Edge WebView2 SDK. Zie GitHub-probleem #5689voor meer informatie.

Api's voor nieuwe pakketimplementatie

De Package Management-API heeft verschillende verbeteringen ontvangen, waaronder Is*ReadyOrNewerAvailable*(), EnsureReadyOptions.RegisterNewerIfAvailable, Is*Provisioned*(), IsPackageRegistrationPending() en verschillende bugfixes. Zie PackageManagement.md en Pull Request #4453 voor meer informatie.

Verbeterde TabView-tab loskoppelfunctie

TabView ondersteunt een nieuwe CanTearOutTabs-modus die een verbeterde ervaring biedt voor het slepen van tabbladen en het slepen naar een nieuw venster. Wanneer deze nieuwe optie is ingeschakeld, is slepen van tabbladen erg vergelijkbaar met de slepen-ervaring op het tabblad in Edge en Chrome, waarbij een nieuw venster onmiddellijk wordt gemaakt tijdens het slepen, zodat de gebruiker het naar de rand van het scherm kan slepen om het venster in één vloeiende beweging te maximaliseren of uit te lijnen. Deze implementatie maakt ook geen gebruik van API's voor slepen en neerzetten, dus deze worden niet beïnvloed door beperkingen in deze API's. Opmerkelijk is dat tab-scheuring wordt ondersteund in processen die worden uitgevoerd met verhoogde bevoegdheden als Administrator.

Andere belangrijke wijzigingen

  • We hebben een nieuwe ColorHelper.ToDisplayName()-API toegevoegd, waardoor die kloof van UWP wordt opgevuld.
  • Er is een nieuwe Microsoft.Windows.Globalization.ApplicationLanguages klasse toegevoegd, met name een nieuwe PrimaryLanguageOverride functie. Zie GitHub-probleem #4523voor meer informatie.
  • Niet-verzegelde ItemsWrapGrid. Dit moet een achterwaarts compatibele wijziging zijn.
  • PipsPager ondersteunt een nieuwe modus waarin het kan omschakelen tussen het eerste en de lijstitems.
  • RatingControl is nu meer aanpasbaar, door enkele in code vastgelegde stijleigenschappen naar themaresources te verplaatsen. Hierdoor kunnen apps deze waarden overschrijven om het uiterlijk van RatingControl beter aan te passen.

Bekende problemen

  • Als het foutopsporingsprogramma is ingesteld om te onderbreken bij alle C++-uitzonderingen, zal het onderbreken bij een paar storende uitzonderingen bij het opstarten in de BCP47-code (Windows Globalization).

Bugfixes

  • Er zijn enkele problemen opgelost met betrekking tot het afhandelen van aangepaste titelbalkscenario's. Zie GitHub-problemen #7629, #9670, #9709 en #8431voor meer informatie.
  • Er is een probleem opgelost waarbij InfoBadge pictogram niet zichtbaar was. Zie GitHub-probleem #8176voor meer informatie.
  • Er is een probleem opgelost met pictogrammen die soms op de verkeerde positie in CommandBarFlyoutworden weergegeven. Zie GitHub-probleem #9409voor meer informatie.
  • Er is een probleem opgelost met de toetsenbordfocus in menu's bij het openen of sluiten van een submenu. Zie GitHub-probleem #9519voor meer informatie.
  • Er is een probleem opgelost met TreeView met behulp van de onjuiste IsExpanded status bij het recyclen van items. Zie GitHub-probleem #9549voor meer informatie.
  • Er is een probleem opgelost bij het gebruik van een ElementName-binding in een ItemsRepeater.ItemTemplate. Zie GitHub-probleem #9715voor meer informatie.
  • Een probleem is opgelost waarbij het eerste item in een ItemsRepeater soms een onjuiste positie heeft. Zie GitHub-probleem #9743voor meer informatie.
  • Er is een probleem opgelost met InputNonClientPointerSource die soms de invoer voor de knoppen min/max/sluit onderbroken. Zie GitHub-probleem #9749voor meer informatie.
  • Er is een compilatiefout opgelost bij het gebruik van Microsoft.UI.Interop.h met clang-cl. Zie GitHub-probleem #9771voor meer informatie.
  • Er is een probleem opgelost waarbij de CharacterReceived gebeurtenis niet werkte in ComboBox/TextBox. Zie GitHub-probleem #9786voor meer informatie.
  • Het probleem opgelost in de 1.6-experimentele builds waarbij het invoergedrag van de aanwijzer voor CanTearOutTabs onjuist was op monitoren met een andere schaalfactor dan 100%. Zie GitHub-probleem #9791voor meer informatie.
  • Het probleem opgelost in de build 1.6-experimenteel2 waarbij sommige taalvertalingen tekencoderingsproblemen hadden voor ColorHelper.ToDisplayName().
  • Er is een probleem opgelost van 1.6-experimenteel1 waarbij NumberBox niet de juiste voorgrond- en achtergrondkleuren gebruikte. Zie GitHub-probleem #9714voor meer informatie.
  • Er is een probleem opgelost waarbij dubbele KeyUp gebeurtenissen werden gegenereerd voor pijl- en tabtoetsen. Zie GitHub-probleem #9399voor meer informatie.
  • Er is een probleem opgelost waarbij de PowerManager.SystemSuspendStatusChanged gebeurtenis onbruikbaar was om de SystemSuspendStatuste verzamelen. Zie GitHub-probleem #2833voor meer informatie.
  • Er is een probleem opgelost waarbij de initiële toetsenbordfocus niet correct was toegekend aan een WebView2 toen dat het enige besturingselement in het raam was.
  • Er is een probleem opgelost bij het gebruik van ExtendsContentIntoTitleBar=true waarbij de knoppen Min/Max/Sluiten niet correct werden weergegeven in de UI Automation, waardoor spraaktoegang geen nummers voor deze knoppen kon tonen.
  • Er is een probleem opgelost waarbij een app tijdens een vergrendelingscontrole kon vastlopen door onverwachte re-entrancy.
  • Er is een probleem opgelost waarbij Hyperlink kleuren niet correct zijn bijgewerkt bij het overschakelen naar een thema met hoog contrast.
  • Er is een probleem opgelost waarbij het wijzigen van de collectie van een ListView in een achtergrondvenster dat venster onjuist naar de voorgrond verplaatst en de focus naar dat venster verplaatst.
  • Er is een probleem opgelost van 1.6-experimenteel1 waarbij het instellen van AcrylicBrush.TintLuminosityOpacity in .xaml in een klassebibliotheekproject vastliep met een typeconversiefout.
  • Er is een probleem opgelost waarbij het aanroepen van ItemsRepeater.StartBringIntoView soms ertoe kon leiden dat items verdwijnen.
  • Er is een probleem opgelost waarbij het aanraken en slepen op een Button in een ScrollViewer deze in een ingedrukt toestand zou laten staan.
  • IntelliSense is bijgewerkt. Deze informatie ontbreekt voor veel nieuwere typen en leden.
  • Er is een probleem opgelost waarbij klikken in een leeg gebied van een ScrollViewer de focus altijd verplaatst naar het eerste focusbare besturingselement in de ScrollViewer en dat besturingselement in beeld zou schuiven. Zie GitHub-probleem #597voor meer informatie.
  • Er is een probleem opgelost waarbij de Window.Activated gebeurtenis soms meerdere keren werd geactiveerd. Zie GitHub-probleem #7343voor meer informatie.
  • Er is een probleem opgelost waarbij het instellen van de eigenschap NavigationViewItem.IsSelected op true ervoor zorgde dat subitems niet werden weergegeven wanneer ze werden uitgevouwen. Zie GitHub-probleem #7930voor meer informatie.
  • Er is een probleem opgelost waarbij MediaPlayerElement bijschriften niet goed weergeeft met None of DropShadow randeffecten. Zie GitHub-probleem #7981voor meer informatie.
  • Er is een probleem opgelost waarbij de eigenschap Flyout.ShowMode niet werd gebruikt bij het weergeven van de flyout. Zie GitHub-probleem #7987voor meer informatie.
  • Er is een probleem opgelost waarbij NumberBox soms afrondingsfouten had. Zie GitHub-probleem #8780voor meer informatie.
  • Er is een probleem opgelost waarbij het gebruik van een bibliotheek die is gecompileerd op basis van een oudere versie van WinAppSDK een fout kon raken bij het vinden van een type of eigenschap. Zie GitHub-probleem #8810voor meer informatie.
  • Er is een probleem opgelost waarbij de eerste toetsenbordfocus niet was ingesteld bij het starten van een venster. Zie GitHub-probleem #8816voor meer informatie.
  • Er is een probleem opgelost waarbij FlyoutShowMode.TransientWithDismissOnPointerMoveAway niet werkte na de eerste keer dat het werd weergegeven. Zie GitHub-probleem #8896voor meer informatie.
  • Er is een probleem opgelost waarbij sommige besturingselementen niet correct sjabloongebonden waren aan de Foreground- en Background-eigenschappen. Zie GitHub-probleem #7070, #9020, #9029, #9083 en #9102voor meer informatie.
  • Er is een probleem opgelost waarbij ThemeResource's in VisualStateManager-setters niet werden bijgewerkt bij wijziging van het thema. Deze besturingselementen worden vaak getroffen in flyouts. Zie GitHub-probleem #9198voor meer informatie.
  • Er is een probleem opgelost waarbij WebView de sleutelfocus verliest, wat resulteert in extra wazige focusgebeurtenissen en andere problemen. Zie GitHub-probleem #9288voor meer informatie.
  • Er is een probleem opgelost waarbij NavigationView een bindingsfout kon weergeven in de debug-uitvoer. Zie GitHub-probleem #9384voor meer informatie.
  • Er is een probleem opgelost waarbij SVG-bestanden die een negatief weergavevak definiëren niet meer worden weergegeven. Zie GitHub-probleem #9415voor meer informatie.
  • Er is een probleem opgelost waarbij het wijzigen van de oriëntatie van ItemsView.Layout ervoor zorgde dat een item werd verwijderd. Zie GitHub-probleem #9422voor meer informatie.
  • Een probleem opgelost waarbij scrollen van een ScrollView veel debug-uitvoer genereerde. Zie GitHub-probleem #9434voor meer informatie.
  • Er is een probleem opgelost waarbij MapContorl.InteractiveControlsVisible niet goed werkte. Zie GitHub-probleem #9486voor meer informatie.
  • Er is een probleem opgelost waarbij de MapControl.MapElementClick-gebeurtenis niet correct werd geactiveerd. Zie GitHub-probleem #9487voor meer informatie.
  • Er is een probleem opgelost waarbij x:Bind niet controleerde op null voordat een zwakke verwijzing werd gebruikt, wat kan leiden tot een crash. Zie GitHub-probleem #9551voor meer informatie.
  • Er is een probleem opgelost waarbij het wijzigen van de eigenschap TeachingTip.Target de positie ervan niet correct heeft bijgewerkt. Zie GitHub-probleem #9553voor meer informatie.
  • Er is een probleem opgelost waarbij vervolgkeuzelijsten niet reageerden in WebView2. Zie GitHub-probleem #9566voor meer informatie.
  • Er is een geheugenlek opgelost bij het gebruik van GeometryGroup. Zie GitHub-probleem #9578voor meer informatie.
  • Er is een probleem opgelost waarbij het schuiven door een zeer groot aantal items uit een ItemRepeater in een ScrollView lege weergaveframes kon veroorzaken. Zie GitHub-probleem #9643voor meer informatie.
  • Er is een probleem opgelost waarbij SceneVisual niet werkte.

Nieuwe API's in 1.6.0-preview1

Versie 1.6-preview1 bevat de volgende nieuwe API's in vergelijking met de stabiele versie 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