Neueste Versionshinweise zum Vorschaukanal für das Windows App SDK

Wichtig

Der Vorschaukanal wird für die Verwendung in Produktionsumgebungen nicht unterstützt, und Apps, die die Vorschaureleases verwenden, können nicht im Microsoft Store veröffentlicht werden.

Der Vorschaukanal enthält Versionen des Windows App SDK mit Features des Vorschaukanals in späten Entwicklungsphasen. Vorschauversionen enthalten keine experimentellen Features und APIs, können bis zum nächsten stabilen Release jedoch wichtigen Änderungen unterliegen.

Wichtige Links:

Archiv der Versionshinweise zum Vorschaukanal:

Version 1.6 Preview 2 (1.6.0-preview2)

Dies ist die neueste Version des Vorschaukanals für Version 1.6.

In einer vorhandenen Windows App SDK 1.5 (aus der Stable Channel)-App können Sie Ihr Nuget-Paket auf 1.6.0-preview2 aktualisieren (siehe Abschnitt "Aktualisieren eines Pakets" unter "Installieren und Verwalten von Paketen in Visual Studio mithilfe des NuGet-Paket-Manager").

Die aktualisierten Runtime- und MSIX-Pakete finden Sie unter Downloads für das Windows App SDK.

Neue Funktionen

Erforderliche C#-Projektänderungen für 1.6-preview2

Für diese Version ist auch die C#-Projektanleitung von 1.6-preview1 erforderlich.

Unterstützung von nativem AOT

1.6-preview2 enthält erhebliche Änderungen am Update auf die veröffentlichte Microsoft.Windows.CsWinRT Version 2.1.1 und machen die Erstellung zuverlässiger für die native Ahead-Of-Time-Kompilierung.

Aktualisierte Edge WebView2 SDK-Integration

Diese Version verweist jetzt auf die veröffentlichte Version 1.0.2651.64 des Microsoft.Web.WebView2 Pakets, die Probleme beheben sollte, die mit der Vorabversion behoben werden sollten, auf die in 1.6-preview1 verwiesen wird. Wie in 1.6-preview1 erwähnt, können Apps jetzt bei Bedarf eine neuere Version des Microsoft.Web.WebView2 Pakets auswählen.

Fehlerkorrekturen

1.6-preview2 enthält die folgenden neuen Fixes seit der Veröffentlichung von 1.6-preview1:

  • Ein Absturz beim Festlegen InfoBar.IsOpen in XAML wurde behoben. Weitere Informationen finden Sie unter GitHub-Problem #8391.
  • Es wurde ein Problem behoben, bei dem HTML-Elemente die Zeigererfassung verlieren würden, wenn die Maus außerhalb der WebView2 Grenzen verschoben wurde. Weitere Informationen finden Sie unter GitHub-Problem #8677.
  • Es wurde ein Problem behoben, bei dem das Ziehen und Ablegen in ein Flyout mit ShouldConstrainToRootBounds=false nicht funktionierte. Weitere Informationen finden Sie unter GitHub-Problem #9276.
  • Es wurde ein Problem behoben, bei dem ms-appx:// Verweise nicht funktionierten, wenn PublishSingleFile diese aktiviert sind. Weitere Informationen finden Sie unter GitHub-Problem #9468.
  • Es wurde ein Problem behoben, bei dem Debuggersymbole für einige Binärdateien nicht ordnungsgemäß funktionieren. Weitere Informationen finden Sie unter GitHub-Problem #4633.
  • Ein Buildwechsel bei Verwendung wurde /permissive-behoben. Weitere Informationen finden Sie unter GitHub-Problem #4643.
  • Es wurde ein paar änderungen an API-Unterbrechungen in 1.6-preview1 behoben, die durch umbenannte Parameter verursacht wurden. Weitere Informationen finden Sie unter GitHub-Problem #4645.
  • Behobene Typenkonflikt-Buildunterbrechungen, die von einigen Projekten in der 1.6-Vorschau1 getroffen wurden, insbesondere bei Windows.UI.Text Typen. Weitere Informationen finden Sie unter GitHub-Problem #4646.
  • Es wurde ein Problem mit Ressourcensuche durch Steuerelementbibliotheken in 1.6-preview1 behoben. Weitere Informationen finden Sie unter GitHub-Problem #4649.
  • Ein potenzieller Absturz beim Unterklassen wurde NavigationViewbehoben.
  • Es wurde ein Problem behoben, bei dem Tabellenrahmen in einem RichEditBox Tabellenrahmen beim Scrollen oder Verringern der Tabellengröße nicht ordnungsgemäß gelöscht wurden.
  • Ein Problem wurde behoben, bei dem Flyouts aus MediaTransportControls einem vollständig transparenten Hintergrund stammen.
  • Es wurde ein Problem behoben, bei dem das Ziehen in eine WebView2 bei anderen Anzeigeskalierungsfaktoren als 100 % oder bei aktivierter Systemtextskalierung fehlschlug oder an der falschen Position abstürzte.
  • Es wurde ein Problem behoben, bei dem TextBox/RichEditBox eingabehilfen nicht ankündigen würden, wenn die Eingabe blockiert wurde, weil sie an der MaxLength Grenze liegt.

Version 1.6 Preview 1 (1.6.0-preview1)

Dies ist die neueste Version des Vorschaukanals für Version 1.6.

In einer vorhandenen Windows App SDK 1.5 (aus der Stable Channel)-App können Sie Ihr Nuget-Paket auf 1.6.0-preview1 aktualisieren (siehe Abschnitt "Aktualisieren eines Pakets" unter "Installieren und Verwalten von Paketen in Visual Studio mithilfe des NuGet-Paket-Manager").

Die aktualisierten Runtime- und MSIX-Pakete finden Sie unter Downloads für das Windows App SDK.

Neue Funktionen

Hinweis

Das neue TitleBar-Steuerelement, das wir in 1.6-experimental1 veröffentlicht haben, ist in nicht-experimentellen Builds von 1.6 noch nicht verfügbar, um mehr Zeit zum Auswerten und Beantworten von Communityfeedback zu ermöglichen. Wir haben hier eine Menge großartige Eingaben erhalten und möchten sicherstellen, dass wir die benötigte Zeit für die Adressieren benötigen.

Erforderliche C#-Projektänderungen für 1.6-preview1

In 1.6-preview1 erfordern verwaltete Windows App SDK-Apps Microsoft.Windows.SDK.NET.Ref*.*.*.38, die über WindowsSdkPackageVersion in Ihrer csproj Datei angegeben werden können. Zum Beispiel:

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

Darüber hinaus sollten verwaltete Windows App SDK-Apps auf Microsoft.Windows.CsWinRT 2.1.1 (oder höher) aktualisiert werden.

Unterstützung von nativem AOT

Die .NET-Projekteigenschaft PublishAot wird jetzt für die systemeigene Ahead-Of-Time-Kompilierung unterstützt. Ausführliche Informationen zu Native AOT finden Sie unter Native AOT-Bereitstellung. Da AOT auf der Trimming-Unterstützung basiert, gilt auch ein Großteil der in der Version 1.6-experimental1 beschriebenen Trimming-bezogenen Anleitungen. Weitere Informationen finden Sie unter native AOT-Unterstützung .

Wie bereits erwähnt, sollten C#-Projekte über einen Paketverweis auf Microsoft.Windows.CsWinRT 2.1.1 (oder höher) verfügen. Diese Version enthält eine AOT-sichere ICustomPropertyProvider Implementierung. Typen, die mit dieser Unterstützung verwendet werden, sollten zusammen mit dem Zu erstellen partialmit dem WinRT.GeneratedBindableCustomProperty Attribut gekennzeichnet werden.

Edge WebView2 SDK-Integration geändert

Das Windows App SDK verwendet jetzt das Edge WebView2 SDK als NuGet-Referenz, anstatt eine hartcodierte Version des Edge WebView2 SDK einzubetten. Mit dem neuen Modell können Apps eine neuere Version des Microsoft.Web.WebView2 Pakets auswählen, anstatt auf die Version beschränkt zu sein, mit der das Windows App SDK erstellt wurde. Mit dem neuen Modell können Apps auch auf NuGet-Pakete verweisen, die auch auf das Edge WebView2 SDK verweisen. Weitere Informationen finden Sie unter GitHub-Problem #5689.

Neue Paketbereitstellungs-APIs

Die Paketverwaltungs-API hat mehrere Verbesserungen erhalten, darunter Is*ReadyOrNewerAvailable*(), EnsureReadyOptions.RegisterNewerIfAvailable, Is*Provisioned*(), IsPackageRegistrationPending() und mehrere Fehlerkorrekturen. Weitere Informationen finden Sie unter PackageManagement.md und Pullanforderung Nr. 4453 .

Verbesserte TabView-Registerkarte ausreißen

TabView unterstützt einen neuen CanTearOutTabs Modus, der eine erweiterte Benutzeroberfläche zum Ziehen von Registerkarten und Zum Ausziehen in ein neues Fenster bietet. Wenn diese neue Option aktiviert ist, ähnelt das Ziehen von Tabstopps in Edge und Chrome sehr ähnlich wie das Ziehen von Registerkarten, bei dem während des Ziehens sofort ein neues Fenster erstellt wird, sodass der Benutzer es an den Rand des Bildschirms ziehen kann, um das Fenster in einer reibungslosen Bewegung zu maximieren oder anzudockt. Diese Implementierung verwendet auch keine Drag-and-Drop-APIs, sodass sie nicht durch Einschränkungen in diesen APIs beeinträchtigt wird. Insbesondere wird das Ausreißen von Registerkarten in Prozessen unterstützt, die als Administrator ausgeführt werden.

Weitere wichtige Änderungen

  • Wir haben eine neue ColorHelper.ToDisplayName() API hinzugefügt, die diese Lücke von UWP füllt.
  • Es wurde eine neue Microsoft.Windows.Globalization.ApplicationLanguages Klasse hinzugefügt, die insbesondere ein neues PrimaryLanguageOverride Feature enthält. Weitere Informationen finden Sie unter GitHub-Problem #4523.
  • Unversiegelt ItemsWrapGrid. Dies sollte eine abwärtskompatible Änderung sein.
  • PipsPager unterstützt einen neuen Modus, in dem er zwischen den ersten und Listenelementen umbrochen werden kann.
  • RatingControl ist jetzt besser anpassbar, indem einige hartcodierte Formateigenschaften in Designressourcen verschoben werden. Dadurch können Apps diese Werte überschreiben, um die Darstellung von RatingControl besser anzupassen.

Bekannte Probleme

  • Wenn der Debugger für alle C++-Ausnahmen festgelegt ist, wird er für ein Paar lauter Ausnahmen beim Start im BCP47 -Code (Windows Globalization) unterbrechungsfrei.

Fehlerkorrekturen

  • Einige Probleme beim Umgang mit benutzerdefinierten Titelleistenszenarien wurden behoben. Weitere Informationen finden Sie unter GitHub-Probleme #7629, #9670, #9709 und #8431.
  • Es wurde ein Problem behoben, bei dem InfoBadge das Symbol nicht sichtbar war. Weitere Informationen finden Sie unter GitHub-Problem #8176.
  • Ein Problem mit Symbolen wurde behoben, das manchmal an der falschen Position in CommandBarFlyout. Weitere Informationen finden Sie im GitHub-Issue #9409.
  • Ein Problem mit dem Tastaturfokus in Menüs beim Öffnen oder Schließen eines Untermenüs wurde behoben. Weitere Informationen finden Sie unter GitHub-Problem #9519.
  • Ein Problem mit der Verwendung des falschen IsExpanded Zustands beim TreeView Recycling von Elementen wurde behoben. Weitere Informationen finden Sie unter GitHub-Problem #9549.
  • Ein Problem beim Verwenden einer ElementName-Bindung in einer ItemsRepeater.ItemTemplate. Weitere Informationen finden Sie unter GitHub-Problem #9715.
  • Es wurde ein Problem mit dem ersten Element in einer ItemsRepeater manchmal falschen Position behoben. Weitere Informationen finden Sie unter GitHub-Problem #9743.
  • Es wurde ein Problem behoben, bei dem InputNonClientPointerSource manchmal Eingaben für die Schaltflächen "min/max/close" abgebrochen wurden. Weitere Informationen finden Sie unter GitHub-Problem #9749.
  • Ein Kompilierungsfehler bei Verwendung von Microsoft.UI.Interop.h mit clang-cl wurde behoben. Weitere Informationen finden Sie unter GitHub-Problem #9771.
  • Es wurde ein Problem behoben, bei dem das CharacterReceived Ereignis nicht funktionierte/ComboBoxTextBox. Weitere Informationen finden Sie unter GitHub-Problem #9786.
  • Das Problem in den 1.6-experimentellen Builds wurde behoben, bei denen das Zeigereingabeverhalten auf CanTearOutTabs Monitoren mit einem anderen Skalierungsfaktor als 100 % falsch war. Weitere Informationen finden Sie unter GitHub-Problem #9791.
  • Das Problem im Build 1.6-experimental2 wurde behoben, bei dem einige Sprachübersetzungen Zeichencodierungsprobleme ColorHelper.ToDisplayName()hatten.
  • Es wurde ein Problem von 1.6-experimental1 behoben, bei dem NumberBox die richtigen Vordergrund- und Hintergrundfarben nicht verwendet wurden. Weitere Informationen finden Sie unter GitHub-Problem #9714.
  • Es wurde ein Problem behoben, bei dem doppelte KeyUp Ereignisse für Pfeil- und Tabulatortasten ausgelöst wurden. Weitere Informationen finden Sie unter GitHub-Problem #9399.
  • Es wurde ein Problem behoben, bei dem das PowerManager.SystemSuspendStatusChanged Ereignis nicht verwendet werden konnte, um das SystemSuspendStatusEreignis abzurufen. Weitere Informationen finden Sie unter GitHub-Problem #2833.
  • Es wurde ein Problem behoben, bei dem der anfängliche Tastaturfokus bei einem WebView2 Zeitpunkt, an dem das einzige Steuerelement im Fenster war, nicht ordnungsgemäß übergeben wurde.
  • Es wurde ein Problem behoben, bei ExtendsContentIntoTitleBar=true dem die Schaltflächen "Min/Max/Schließen" im Benutzeroberflächenautomatisierung nicht ordnungsgemäß angezeigt wurden, wodurch Voice Access keine Nummern für diese Schaltflächen anzeigte.
  • Es wurde ein Problem behoben, bei dem eine App aufgrund unerwarteter Reentranz in einer Sperrprüfung abstürzte.
  • Es wurde ein Problem behoben, bei dem Hyperlink Farben beim Wechseln in ein Design mit hohem Kontrast nicht ordnungsgemäß aktualisiert wurden.
  • Es wurde ein Problem behoben, bei dem das Ändern der Auflistung eines ListView In einem Hintergrundfensters dieses Fensters möglicherweise falsch in den Vordergrund verschoben und den Fokus erhält.
  • Es wurde ein Problem von 1.6-experimental1 behoben, bei dem die Einstellung AcrylicBrush.TintLuminosityOpacity in XAML in einem Klassenbibliotheksprojekt mit einem Typkonvertierungsfehler abstürzte.
  • Es wurde ein Problem behoben, bei dem das Aufrufen ItemsRepeater.StartBringIntoView manchmal dazu führen konnte, dass Elemente nicht mehr angezeigt werden.
  • Es wurde ein Problem behoben, bei dem das Berühren und Ziehen eines Button Ins in einem ScrollViewer gedrückten Zustand den Vorgang verlassen würde.
  • IntelliSense wurde aktualisiert, bei dem Informationen für viele neuere Typen und Member fehlen.
  • Es wurde ein Problem behoben, bei dem durch Klicken in einen leeren Bereich eines Steuerelements ScrollViewer immer der Fokus auf das erste fokussierbare Steuerelement im Steuerelement verschoben und in die ScrollViewer Ansicht gescrollt wurde. Weitere Informationen finden Sie unter GitHub-Problem Nr. 597.
  • Es wurde ein Problem behoben, bei dem das Window.Activated Ereignis manchmal mehrmals ausgelöst wurde. Weitere Informationen finden Sie unter GitHub-Problem #7343.
  • Es wurde ein Problem behoben, bei dem das Festlegen der NavigationViewItem.IsSelected Eigenschaft, um zu true verhindern, dass die untergeordneten Elemente angezeigt werden, wenn sie erweitert werden. Weitere Informationen finden Sie unter GitHub-Problem #7930.
  • Es wurde ein Problem behoben, bei dem MediaPlayerElement Beschriftungen mit None oder DropShadow Randeffekten nicht ordnungsgemäß angezeigt wurden. Weitere Informationen finden Sie unter GitHub-Problem #7981.
  • Es wurde ein Problem behoben, bei dem die Flyout.ShowMode Eigenschaft beim Anzeigen des Flyouts nicht verwendet wurde. Weitere Informationen finden Sie unter GitHub-Problem #7987.
  • Es wurde ein Problem behoben, bei dem NumberBox manchmal Rundungsfehler aufgetreten waren. Weitere Informationen finden Sie unter GitHub-Problem #8780.
  • Es wurde ein Problem behoben, bei dem die Verwendung einer bibliothek, die mit einer älteren Version von WinAppSDK kompiliert wurde, einen Fehler beim Versuch, einen Typ oder eine Eigenschaft zu finden, gefunden wurde. Weitere Informationen finden Sie unter GitHub-Problem #8810.
  • Ein Problem wurde behoben, bei dem der anfängliche Tastaturfokus beim Starten eines Fensters nicht festgelegt wurde. Weitere Informationen finden Sie unter GitHub-Problem #8816.
  • Es wurde ein Problem behoben, bei dem FlyoutShowMode.TransientWithDismissOnPointerMoveAway nach der ersten Anzeige nicht mehr funktionierte. Weitere Informationen finden Sie unter GitHub-Problem #8896.
  • Es wurde ein Problem behoben, bei dem einige Steuerelemente nicht ordnungsgemäß vorlagenbindung Foreground und Background -eigenschaften enthielten. Weitere Informationen finden Sie unter GitHub-Problem #7070, #9020, #9029, #9083 und #9102.
  • Es wurde ein Problem behoben, bei dem ThemeResourcein Settern verwendet VisualStateManager wurde, bei der Designänderung nicht aktualisiert wurde. Dies hat häufig Auswirkungen auf Steuerelemente in Flyouts. Weitere Informationen finden Sie unter GitHub-Problem #9198.
  • Es wurde ein Problem behoben, bei dem WebView der Schlüsselfokus verloren ging, was zu zusätzlichen Weichzeichner-/Fokusereignissen und anderen Problemen führte. Weitere Informationen finden Sie unter GitHub-Problem #9288.
  • Ein Problem wurde behoben, bei dem NavigationView ein Bindungsfehler in der Debugausgabe angezeigt werden konnte. Weitere Informationen finden Sie unter GitHub-Problem #9384.
  • Ein Problem wurde behoben, bei dem SVG-Dateien, die ein negatives Viewbox-Element definieren, nicht mehr gerendert wurden. Weitere Informationen finden Sie unter GitHub-Problem #9415.
  • Es wurde ein Problem behoben, bei dem das Ändern ItemsView.Layout der Ausrichtung dazu führte, dass ein Element entfernt wurde. Weitere Informationen finden Sie unter GitHub-Problem #9422.
  • Es wurde ein Problem behoben, bei dem beim Scrollen eine ScrollView Menge Debugausgabe generiert wurde. Weitere Informationen finden Sie unter GitHub-Problem #9434.
  • Es wurde ein Problem behoben, bei dem MapContorl.InteractiveControlsVisible nicht ordnungsgemäß funktionierte. Weitere Informationen finden Sie unter GitHub-Problem #9486.
  • Es wurde ein Problem behoben, bei dem MapControl.MapElementClick das Ereignis nicht ordnungsgemäß ausgelöst wurde. Weitere Informationen finden Sie unter GitHub-Problem #9487.
  • Es wurde ein Problem behoben, bei dem x:Bind vor der Verwendung eines schwachen Verweises nicht auf NULL überprüft wurde, was zu einem Absturz führen konnte. Weitere Informationen finden Sie unter GitHub-Problem #9551.
  • Es wurde ein Problem behoben, bei dem das Ändern der Eigenschaft ihre TeachingTip.Target Position nicht ordnungsgemäß aktualisiert hat. Weitere Informationen finden Sie unter GitHub-Problem #9553.
  • Ein Problem wurde behoben, bei dem Dropdowns in WebView2 nicht geantwortet haben. Weitere Informationen finden Sie unter GitHub-Problem #9566.
  • Ein Speicherverlust bei Verwendung wurde GeometryGroupbehoben. Weitere Informationen finden Sie unter GitHub-Problem #9578.
  • Es wurde ein Problem behoben, bei dem ein Bildlauf durch eine sehr große Anzahl von Elementen aus einem ItemRepeater in einem ScrollView Element zu leeren Renderframes führen konnte. Weitere Informationen finden Sie unter GitHub-Problem #9643.
  • Es wurde ein Problem behoben, bei dem SceneVisual es nicht funktionierte.

Neue APIs in 1.6.0-preview1

Version 1.6-preview1 enthält die folgenden neuen APIs im Vergleich zur stabilen Version 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