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 bietet eine Vorschau für das nächste stabile Release. Zwischen einem bestimmten Release des Preview-Kanals und dem nächsten Stable-Release gibt es möglicherweise bahnbrechende API-Änderungen. Vorschaukanalreleases enthalten keine experimentellen APIs.

Wichtige Links:

Version 1.5 Vorschau 1 (1.5.0-preview1)

Das ist das neueste Release des Vorschaukanals für Version 1.5.

In einer vorhandenen Windows App SDK 1.4-App (aus dem stabilen Kanal) können Sie Ihr NuGet-Paket auf 1.5.0-preview1 aktualisieren (weitere Informationen finden Sie im Abschnitt Aktualisieren eines Pakets in Installieren und Verwalten von Paketen in Visual Studio mit dem NuGet-Paket-Manager).

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

XAML Islands Laufzeit- und Shutdown-Updates

  • Es gibt einen Verhaltensunterschied zwischen WinAppSDK 1.4 und WinAppSDK 1.5 für xaml-inselnbasierte Apps, wenn das letzte XAML-Fenster in einem beliebigen Thread geschlossen wird.
    • In WinAppSDK 1.4 verlässt die Xaml-Laufzeit die Ereignisschleife des Threads immer, wenn das letzte Xaml-Fenster in einem Thread geschlossen wird.
    • In WinAppSDK 1.5:
      • Wenn es sich bei Ihrer App um eine WinUI-Desktop-App handelt, ist das Standardverhalten immer noch dasselbe wie in WinAppSDK 1.4.
      • Wenn Sie Xaml für die DesktopWindowXamlSource ("Xaml Islands")-API verwenden, besteht das Standardverhalten nun darin, dass Xaml die Ereignisschleife des Threads nicht automatisch verlässt.
      • In beiden Modi können Sie dieses Verhalten ändern, indem Sie die Eigenschaft Application.DispatcherShutdownMode festlegen.
    • Weitere Informationen finden Sie in der Dokumentation für die Application.DispatcherShutdownMode Eigenschaft, sofern verfügbar.
  • Es gibt einen Verhaltensunterschied zwischen WinAppSDK 1.4 und WinAppSDK 1.5 für Xaml Islands-basierte Apps während der Lebensdauer der Xaml-Laufzeit:
    • In WinAppSDK 1.4 wird die Xaml-Laufzeit in einem Thread heruntergefahren, wenn entweder alle WindowsXamlManager und DesktopWindowXamlSource Objekte in einem bestimmten Thread geschlossen oder heruntergefahren werden oder die DispatcherQueue Ausführung in diesem Thread heruntergefahren wird (die Xaml-Laufzeit wird während der DispatcherQueue.FrameworkShutdownStarting Phase heruntergefahren).
    • In WinAppSDK 1.5 wird die Xaml-Laufzeit nur dann auf einem Thread heruntergefahren, wenn der DispatcherQueue, der auf diesem Thread ausgeführt wird, heruntergefahren wird (die Xaml-Laufzeit wird während der DispatcherQueue.FrameworkShutdownStarting Phase heruntergefahren).
    • Weitere Informationen finden Sie in der Dokumentation zur WindowsXamlManager Klasse, sofern verfügbar.

WinUI-Karten-Steuerelement

Die erste Version des WinUI-Steuerelements Maps ist jetzt verfügbar! Dieses Steuerelement wird von WebView2 und Azure Karten unterstützt und stellt die folgenden Features bereit:

  • Verschieben und Zoomen mit den Kartenschaltflächen oder per Toucheingabe.
  • Ändern des Stils der Karte in Satelliten-, Gelände- oder Straßenansicht.
  • Programmgesteuertes Hinzufügen von interagierbaren Pins mit vom Entwickler anpassbaren Symbolen zur Karte.
  • Entwickleranpassung für die Ausrichtung der Karte beim ersten Laden.
  • Kontrolle für Entwickler über das Ausblenden oder Anzeigen der Schaltflächen zum Schwenken, Zoomen und Kartenstilen.

Hinweis

Um das Maps Steuerelement zu verwenden, benötigen Sie einen Azure Karten-Schlüssel. Informationen zum Erstellen des Schlüssels finden Sie auf der Dokumentationsseite von Azure Karten zum Erstellen einer Web-App.

Das Maps Steuerelement ist völlig neu und wir freuen uns über Ihr Feedback, um ihre zukünftige Richtung zu bewerten!

Weitere neue Funktionen aus dem gesamten WinAppSDK

Fehlerkorrekturen

  • Es wurde ein Problem aus der Version 1.5-experimental2 behoben, bei der die Projektions-DLL nicht generiert wurde. Weitere Informationen finden Sie im GitHub-Issue #4152.
  • Es wurde ein Problem behoben, bei dem die Schaltfläche mit den Auslassungspunkten im Popup "Textformatierung" der RichEditBox Liste der Aktionen nicht ordnungsgemäß angezeigt wurde. Weitere Informationen finden Sie im GitHub-Issue #9140.
  • Es wurde ein Problem behoben, bei dem die ListView Tastenkombinationen nicht ordnungsgemäß behandelt wurden. Weitere Informationen finden Sie im GitHub-Issue #8063.
  • Ein Zugriffsverletzungsproblem mit der Verwendung AccessKey zum Schließen eines Fensters wurde behoben. Weitere Informationen finden Sie im GitHub-Issue #8648.
  • Es wurde ein Problem behoben, das sich auf die Textausrichtung in einem MenuFlyoutItem innerhalb eines MenuBar auswirkt. Weitere Informationen finden Sie im GitHub-Issue #8755.
  • Es wurde ein Problem behoben, bei dem hervorgehobener Text nach einem Rechtsklick nicht hervorgehoben blieb. Weitere Informationen finden Sie im GitHub-Issue #1801.
  • Es wurde ein Problem behoben, das dazu führte, dass inaktive Fenster beim Schließen der App abstürzten. Weitere Informationen finden Sie im GitHub-Issue #8913.
  • Es wurde ein Problem behoben, das dazu führen konnte, dass Anwendungen hängen blieben, wenn mit der mittleren Maustaste gescrollt und unmittelbar danach mit der linken Maustaste geklickt wurde. Weitere Informationen finden Sie im GitHub-Issue #9233.

Neue APIs in 1.5.0-preview1

Version 1.5-preview1 enthält gegenüber dem stabilen Release 1.4 die folgenden neuen APIs:

Microsoft.Graphics.DirectX
 
    DirectXPixelFormat
        A4B4G4R4
Microsoft.UI.Input
 
    FocusNavigationReason
    FocusNavigationRequest
    FocusNavigationRequestEventArgs
    FocusNavigationResult
    InputFocusController
        DepartFocus
        NavigateFocusRequested
 
    InputFocusNavigationHost
Microsoft.UI.Xaml
 
    Application
        DispatcherShutdownMode

    DebugSettings
        LayoutCycleDebugBreakLevel
        LayoutCycleTracingLevel

    DispatcherShutdownMode
    LayoutCycleDebugBreakLevel
    LayoutCycleTracingLevel
Microsoft.UI.Xaml.Controls
 
    MapControl
    MapControlMapServiceErrorOccurredEventArgs
    MapElement
    MapElementClickEventArgs
    MapElementsLayer
    MapIcon
    MapLayer
    SelectorBar
    SelectorBarItem
    SelectorBarSelectionChangedEventArgs
    WebView2
        EnsureCoreWebView2Async
        EnsureCoreWebView2Async
Microsoft.UI.Xaml.Hosting
 
    WindowsXamlManager
        GetForCurrentThread
        XamlShutdownCompletedOnThread
 
    XamlShutdownCompletedOnThreadEventArgs
Microsoft.Web.WebView2.Core
 
    CoreWebView2
        FrameId

    CoreWebView2AcceleratorKeyPressedEventArgs
        IsBrowserAcceleratorKeyEnabled

    CoreWebView2BrowserExtension
    CoreWebView2BrowsingDataKinds
        ServiceWorkers

    CoreWebView2CustomSchemeRegistration
        CoreWebView2CustomSchemeRegistration (String)
        AllowedOrigins
        SchemeName

    CoreWebView2Environment
        GetProcessExtendedInfosAsync

    CoreWebView2EnvironmentOptions
        AreBrowserExtensionsEnabled
        CustomSchemeRegistrations

    CoreWebView2Frame
        FrameId

    CoreWebView2FrameInfo
        FrameId
        FrameKind
        ParentFrameInfo

    CoreWebView2FrameKind
    CoreWebView2MouseEventKind
        NonClientRightButtonDown
        NonClientRightButtonUp

    CoreWebView2NavigationKind
    CoreWebView2NavigationStartingEventArgs
        NavigationKind

    CoreWebView2NewWindowRequestedEventArgs
        OriginalSourceFrameInfo

    CoreWebView2ProcessExtendedInfo
    CoreWebView2Profile
        AddBrowserExtensionAsync
        Delete
        Deleted
Microsoft.Windows.Management.Deployment
 
    AddPackageOptions
    EnsureReadyOptions
    PackageDeploymentContract
    PackageDeploymentManager
    PackageDeploymentProgress
    PackageDeploymentProgressStatus
    PackageDeploymentResult
    PackageDeploymentStatus
    PackageRuntimeManager
    PackageSet
    PackageSetItem
    PackageSetItemRuntimeDisposition
    PackageSetRuntimeDisposition
    PackageVolume
    ProvisionPackageOptions
    RegisterPackageOptions
    RemovePackageOptions
    StagePackageOptions
    StubPackageOption
Microsoft.Windows.Widgets.Feeds.Providers
 
    CustomQueryParametersRequestedArgs
    CustomQueryParametersUpdateOptions
    FeedDisabledArgs
    FeedEnabledArgs
    FeedManager
    FeedProviderDisabledArgs
    FeedProviderEnabledArgs
    FeedProviderInfo
    IFeedManager
    IFeedProvider

Version 1.4 Vorschau 2 (1.4.0-preview2)

Das ist das neueste Release des Vorschaukanals für Version 1.4.

In einer vorhandenen Windows App SDK 1.3-App (aus dem stabilen Kanal) können Sie Ihr NuGet-Paket auf 1.4.0-preview2 aktualisieren (weitere Informationen finden Sie im Abschnitt Aktualisieren eines Pakets in Installieren und Verwalten von Paketen in Visual Studio mit dem NuGet-Paket-Manager).

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

XAML-Inseln nicht mehr nur experimentell

XAML-Inseln und die zugrunde liegende ContentIslands-Plattform sind nicht mehr nur experimentell.

  • Derzeit werden XAML-Inseln nur für die Verwendung in C++-Apps getestet. Diese Version enthält keine praktischen Wrapperelemente für die Verwendung in WPF oder WinForms.
  • DesktopWindowXamlSource und verwandte Typen wurden im Microsoft.UI.Xaml.Hosting-Namespace für XAML-Inseln hinzugefügt. XamlRoot.ContentIslandEnvironment wurde hinzugefügt, um den Zugriff auf die zugrunde liegenden Inselinformationen für ein Element zu erleichtern.
  • Viele neue Typen wurden im Microsoft.UI.Content-Namespace und im Microsoft.UI.Input-Namespace als zugrunde liegende Unterstützung für XAML-Inseln oder für die Verwendung dieser ContentIslands-Funktionalität ohne XAML eingeführt.
  • Im Namespace „Microsoft.UI.Input.DragDrop“ für Inselszenarien wurde ein neuer DragDropManager (plus verwandter Typen) hinzugefügt.

Aktualisierungen von ItemsView

Die neue Klasse ItemsView, die in Version 1.4-preview1 eingeführt wurde, wurde mit neuen Eigenschaften und einer neuen unterstützenden Klasse in erheblichem Umfang aktualisiert.

  • Das neue Steuerelement ItemsView zeigt eine Datensammlung an. ItemsView ähnelt den Steuerelementen ListView und GridView, wird jedoch mit den Komponenten ItemsRepeater, ScrollView, ItemContainer und ItemCollectionTransitionProvider erstellt. Es bietet die einzigartige Möglichkeit, benutzerdefinierte Layout- oder ItemCollectionTransitionProvider-Implementierungen einzubinden. Ein weiterer wichtiger Vorteil ist die Möglichkeit, das Layout während der Verwendung zu wechseln und gleichzeitig die Auswahl von Elementen beizubehalten. Das innere ScrollView-Steuerelement bietet außerdem Funktionen, die in dem in ListView/GridView integrierten ScrollViewer-Steuerelement nicht verfügbar sind, wie z. B. die Möglichkeit, die Animation bei programmgesteuerten Bildläufen zu steuern.
    • Mit der neuen ItemTransitionProvider-Eigenschaft des ItemsRepeater (und dem neuen Steuerelement ItemsView) können Sie ein ItemCollectionTransitionProvider-Objekt zum Steuern von Übergangsanimationen für dieses Steuerelement angeben. Außerdem wurde eine CreateDefaultItemTransitionProvider-Methode zu Layout hinzugefügt, die es einem Layoutobjekt ermöglicht, einen integrierten Fallbackübergang bereitzustellen, wenn Sie für das ItemsView-Steuerelement nicht explizit einen angeben.
    • Eine neue IndexBasedLayoutOrientation-Eigenschaft für Layout, bei der die Layout-Ausrichtung von Objekten, falls vorhanden, auf ihrem Index in der Quellensammlung basiert. Der Standardwert ist IndexBasedLayoutOrientation.None. Benutzerdefinierte Layouts legen diese Eigenschaft durch Aufrufen der neuen (geschützten) SetIndexBasedLayoutOrientation-Methode fest.
    • Eine neue VisibleRect-Eigenschaft auf VirtualizingLayoutContext zum Abrufen des sichtbaren Viewport-Rechtecks innerhalb des FrameworkElement, das dem Layout zugeordnet ist. Die geschützte virtuelle Methode VirtualizingLayoutContext.VisibleRectCore kann überschrieben werden, um den Wert bereitzustellen, der von der Eigenschaft VisibleRect zurückgegeben wird.
  • Die neue Klasse LinedFlowLayout wird in der Regel verwendet, um die Elemente des Auflistungssteuerelements ItemsView zu gestalten. Sie ist besonders nützlich, eine Sammlung von Bildern anzuzeigen. Dabei werden die Elemente von links nach rechts und von oben nach unten in gleich hohen Zeilen angeordnet. Die Bilder füllen eine horizontale Zeile und gehen dann in die nächste Zeile über. Bilder können am linken und rechten Rand abgeschnitten werden, damit sie in eine Zeile passen. Sie können auch horizontal erweitert und am oberen und unteren Rand abgeschnitten werden, um eine Zeile zu füllen, wenn der Dehnungsmodus verwendet wird.

Neue Funktionen und Aktualisierungen aus dem gesamten WinAppSDK

  • Popup/FlyoutBase.IsConstrainedToRootBounds = false wird jetzt unterstützt, sodass ein Popup-/Flyout außerhalb der Grenzen des übergeordneten Fensters erweitert werden kann. Zu diesen Typen wurde eine SystemBackdrop-Eigenschaft hinzugefügt, um Acryl in diesen nicht eingeschränkten Popups zu unterstützen. Diese Funktion wird in Menüs standardmäßig verwendet, um Acryl zu verwenden.
  • Closed, FrameworkClosed und IsClosed wurden zu DesktopAcrylicController und MicaController hinzugefügt, um die Abwicklung des Herunterfahrens von Objekten/Threads zu verbessern.
  • DesktopAcrylicController.Kind kann jetzt so eingestellt werden, dass Sie zwischen einigen Standard-Acryl-Darstellungen wählen können.
  • DispatcherQueue verfügt über einige neue Ereignisse und Hilfsprogramme, um das Herunterfahren besser zu koordinieren und für Anwendungen, die Inseln verwenden, einfach eine standardmäßig unterstützte Ereignisschleife auszuführen.
  • Im Namespace „Microsoft.UI.Input“ kann InputNonClientPointerSource für benutzerdefinierte Titelleistenszenarien verwendet werden, um Bereiche außerhalb des Clientbereichs zu definieren. Code kann für entsprechende Ereignisse wie Zeigen und Klicken auf Ereignisse in diesen Regionen registriert werden.
  • AppWindow hat einige neue Hilfsprogramme, um eine DispatcherQueue zu erhalten und sich mit ihr zu verknüpfen.
  • Mit dem neuen TreeView.SelectionChanged-Ereignis können Entwickler*innen reagieren, wenn Benutzer*innen oder der Code-Behind die Menge der ausgewählten Knoten im TreeView-Steuerelement ändern.
  • Das neue ScrollView-Steuerelement bietet eine neue Alternative zu ScrollViewer. Dieses neue Steuerelement ist stark im Verhalten und der API an dem vorhandenen ScrollViewer-Steuerelement ausgerichtet. Es basiert jedoch auf InteractionTracker, hat neue Features wie animationsgesteuerte Ansichtsänderungen und ist auch darauf ausgelegt, die volle Funktionalität von ItemsRepeater sicherzustellen. Weitere Informationen finden Sie unter A more flexible ScrollViewer · Issue #108 · microsoft/microsoft-ui-xaml (github.com). Verschiedene neue Typen, einschließlich ScrollPresenter, sind Teil des Gesamtmodells von ScrollView.
  • Das neue AnnotatedScrollBar-Steuerelement erweitert die Funktionalität einer regulären Bildlaufleiste, indem es eine einfache Möglichkeit zum Navigieren durch eine große Sammlung von Elementen ermöglicht. Dies wird durch eine klickbare Leiste mit Bezeichnungen erreicht, die als Markierungen fungieren. Es ermöglicht auch ein genaueres Verständnis des bildlauffähigen Inhalts, indem eine QuickInfo angezeigt wird, wenn Sie auf die klickbare Leiste zeigen.

Neue APIs in 1.4.0-preview2

Version 1.4-preview2 enthält gegenüber dem vorherigen Release von 1.4-Preview1 die folgenden neuen APIs:

Microsoft.UI
 
    ClosableNotifierHandler
    IClosableNotifier
Microsoft.UI.Composition.SystemBackdrops
 
    DesktopAcrylicController
        Closed
        FrameworkClosed
        IsClosed
        Kind
 
    DesktopAcrylicKind
    MicaController
        Closed
        FrameworkClosed
        IsClosed
Microsoft.UI.Content
 
    ContentCoordinateConverter
    ContentCoordinateRoundingMode
    ContentDeferral
    ContentEnvironmentSettingChangedEventArgs
    ContentEnvironmentStateChangedEventArgs
    ContentIsland
    ContentIslandAutomationProviderRequestedEventArgs
    ContentIslandEnvironment
    ContentIslandStateChangedEventArgs
    ContentLayoutDirection
    ContentSite
    ContentSiteEnvironment
    ContentSiteEnvironmentView
    ContentSiteRequestedStateChangedEventArgs
    ContentSiteView
    ContentSizePolicy
    DesktopChildSiteBridge
    DesktopSiteBridge
    IContentSiteBridge
Microsoft.UI.Dispatching
 
    DispatcherExitDeferral
    DispatcherQueue
        EnqueueEventLoopExit
        EnsureSystemDispatcherQueue
        FrameworkShutdownCompleted
        FrameworkShutdownStarting
        RunEventLoop
        RunEventLoop
 
    DispatcherQueueController
        ShutdownQueue
 
    DispatcherRunOptions
Microsoft.UI.Input
 
    CharacterReceivedEventArgs
    ContextMenuKeyEventArgs
    FocusChangedEventArgs
    InputActivationListener
        GetForIsland
 
    InputFocusChangedEventArgs
    InputFocusController
    InputKeyboardSource
        CharacterReceived
        ContextMenuKey
        GetCurrentKeyState
        GetForIsland
        GetKeyState
        KeyDown
        KeyUp
        SystemKeyDown
        SystemKeyUp
 
    InputNonClientPointerSource
    InputPointerSource
        GetForIsland
 
    InputPreTranslateKeyboardSource
    KeyEventArgs
    NonClientCaptionTappedEventArgs
    NonClientPointerEventArgs
    NonClientRegionKind
    NonClientRegionsChangedEventArgs
    PhysicalKeyStatus
    VirtualKeyStates
Microsoft.UI.Input.DragDrop
 
    DragDropManager
    DragDropModifiers
    DragInfo
    DragOperation
    DragUIContentMode
    DragUIOverride
    DropOperationTargetRequestedEventArgs
    IDropOperationTarget
Microsoft.UI.Windowing
 
    AppWindow
        AssociateWithDispatcherQueue
        Create
        DispatcherQueue
Microsoft.UI.Xaml
 
    XamlRoot
        ContentIslandEnvironment
Microsoft.UI.Xaml.Automation.Peers
 
    ItemsViewAutomationPeer
Microsoft.UI.Xaml.Controls
 
    AnnotatedScrollBar
    AnnotatedScrollBarDetailLabelRequestedEventArgs
    AnnotatedScrollBarLabel
    AnnotatedScrollBarScrollingEventArgs
    AnnotatedScrollBarScrollingEventKind
    IndexBasedLayoutOrientation
    ItemCollectionTransition
    ItemCollectionTransitionCompletedEventArgs
    ItemCollectionTransitionOperation
    ItemCollectionTransitionProgress
    ItemCollectionTransitionProvider
    ItemCollectionTransitionTriggers
    ItemsRepeater
        ItemTransitionProvider
        ItemTransitionProviderProperty
 
    ItemsView
    ItemsViewItemInvokedEventArgs
    ItemsViewSelectionChangedEventArgs
    ItemsViewSelectionMode
    Layout
        CreateDefaultItemTransitionProvider
        IndexBasedLayoutOrientation
        SetIndexBasedLayoutOrientation
 
    LinedFlowLayout
    LinedFlowLayoutItemCollectionTransitionProvider
    LinedFlowLayoutItemsInfoRequestedEventArgs
    LinedFlowLayoutItemsJustification
    LinedFlowLayoutItemsStretch
    ScrollingAnchorRequestedEventArgs
    ScrollingAnimationMode
    ScrollingBringingIntoViewEventArgs
    ScrollingChainMode
    ScrollingContentOrientation
    ScrollingInputKinds
    ScrollingInteractionState
    ScrollingRailMode
    ScrollingScrollAnimationStartingEventArgs
    ScrollingScrollBarVisibility
    ScrollingScrollCompletedEventArgs
    ScrollingScrollMode
    ScrollingScrollOptions
    ScrollingSnapPointsMode
    ScrollingZoomAnimationStartingEventArgs
    ScrollingZoomCompletedEventArgs
    ScrollingZoomMode
    ScrollingZoomOptions
    ScrollView
    TreeView
        SelectionChanged
 
    TreeViewSelectionChangedEventArgs
    VirtualizingLayoutContext
        VisibleRect
        VisibleRectCore
Microsoft.UI.Xaml.Controls.Primitives
 
    FlyoutBase
        SystemBackdrop
        SystemBackdropProperty
 
    IScrollController
    IScrollControllerPanningInfo
    Popup
        SystemBackdrop
        SystemBackdropProperty
 
    RepeatedScrollSnapPoint
    RepeatedZoomSnapPoint
    ScrollControllerAddScrollVelocityRequestedEventArgs
    ScrollControllerPanRequestedEventArgs
    ScrollControllerScrollByRequestedEventArgs
    ScrollControllerScrollToRequestedEventArgs
    ScrollPresenter
    ScrollSnapPoint
    ScrollSnapPointBase
    ScrollSnapPointsAlignment
    SnapPointBase
    ZoomSnapPoint
    ZoomSnapPointBase
Microsoft.UI.Xaml.Hosting
 
    DesktopWindowXamlSource
    DesktopWindowXamlSourceGotFocusEventArgs
    DesktopWindowXamlSourceTakeFocusRequestedEventArgs
    WindowsXamlManager
    XamlSourceFocusNavigationReason
    XamlSourceFocusNavigationRequest
    XamlSourceFocusNavigationResult

Version 1.4 Vorschau 1 (1.4.0-preview1)

Das ist das neueste Release des Vorschaukanals für Version 1.4.

In einer vorhandenen Windows App SDK 1.3-App (aus dem stabilen Kanal) können Sie Ihr NuGet-Paket auf 1.4.0-preview1 aktualisieren (weitere Informationen finden Sie im Abschnitt Aktualisieren eines Pakets in Installieren und Verwalten von Paketen in Visual Studio mit dem NuGet-Paket-Manager).

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

Widgets-Updates

Es wurden drei neue Schnittstellen für Widgetanbieter hinzugefügt: IWidgetProvider2, IWidgetProviderAnalytics, und IWidgetProviderErrors. Mit IWidgetProvider2 können Anbieter auf die vom Benutzer aufgerufene Aktion Anpassen reagieren. Dies ist identisch mit der Funktionalität, die für eigene Widgets verfügbar ist. Mit den Schnittstellen IWidgetProviderAnalytics und IWidgetProviderErrors können Anbieter Telemetriedaten für ihre Widgets sammeln. Die jeweiligen Widgetanbieter erhalten so Analyse- und Fehlerereignisse von Widgets. Die Klassen WidgetCustomizationRequestedArgs, WidgetAnalyticsInfoReportedArgs und WidgetErrorInfoReportedArgs werden verwendet, um relevante Informationen zur Unterstützung neuer Funktionen zu vermitteln.

Neue Funktionen aus dem gesamten WinAppSDK

  • Eine neue ThemeSettings-Klasse, mit der Win32 WinRT-Apps erkennen können, dass sich die Einstellung des Systems für hohen Kontrast geändert hat, ähnlich der UWP-Klasse AccessibilitySettings. Weitere Informationen finden Sie in der ThemeSettings-API-Spezifikation auf GitHub.
  • Popup/FlyoutBase.ShouldConstrainToRootBounds wird jetzt unterstützt, damit QuickInfos, Menüs und andere Popups außerhalb der Grenzen des Hauptfensters erweitert werden können. Acrylic oder andere SystemBackdrops in einem Popup/Flyout werden von Vorschau 1 noch nicht vollständig unterstützt. Weitere APIs und Implementierungen hierfür werden im nächsten Release 1.4 enthalten sein.
  • AccessKeyManager.EnterDisplayMode ist eine neue Methode zum Anzeigen von Tastenkombinationen für das aktuelle fokussierte Element eines bereitgestellten Stamms. Tastenkombinationen befinden sich im „Anzeigemodus“, wenn eine Tastenkombination zum Aufrufen eines Befehls angezeigt wird, z. B. wenn Sie in Paint die Alt-Taste drücken, um anzuzeigen, welche Tasten welchen Steuerelementen entsprechen. Diese Methode ermöglicht die programmgesteuerte Anzeige des Anzeigemodus.
  • Application.ResourceManagerRequested bietet einen Mechanismus zur Bereitstellung eines anderen IResourceManager zur Auflösung von Ressourcen-URIs für Szenarien, in denen der Standard-ResourceManager nicht funktioniert. Weitere Informationen finden Sie in der Application.ResourceManagerRequested-API-Spezifikation auf GitHub.
  • Wir führen ein neues Listensteuerelement ein, das als ItemsView bezeichnet wird und eine entsprechende konkrete ItemContainer-Klasse. ItemContainer ist ein einfacher Container mit integrierten Auswahlzuständen und visuellen Elementen, der die gewünschten Inhalte problemlos umschließen und zusammen mit ItemsView für ein Szenario mit Sammlungssteuerung verwendet werden kann. ItemsView ist in Vorschau 1 weiterhin als experimentell gekennzeichnet, wird aber im nächsten Release 1.4 enthalten sein.
  • Die Version des WebView2 SDK wurde von 1661.34 auf 1823.32 aktualisiert.

Neue APIs in 1.4.0-preview1

Version 1.4-preview1 enthält gegenüber dem stabilen Release 1.3 die folgenden neuen APIs:

Microsoft.UI.System
 
    ThemeSettings
Microsoft.UI.Xaml
 
    Application
        ResourceManagerRequested
 
    ResourceManagerRequestedEventArgs
Microsoft.UI.Xaml.Automation.Peers
 
    ItemContainerAutomationPeer
Microsoft.UI.Xaml.Controls
 
    ItemContainer
Microsoft.UI.Xaml.Controls.Primitives
 
    CommandBarFlyoutCommandBar
        SystemBackdrop
        SystemBackdropProperty
Microsoft.UI.Xaml.Input
 
    AccessKeyManager
        EnterDisplayMode
Microsoft.Web.WebView2.Core
 
    CoreWebView2
        LaunchingExternalUriScheme
        MemoryUsageTargetLevel
 
    CoreWebView2File
    CoreWebView2LaunchingExternalUriSchemeEventArgs
    CoreWebView2MemoryUsageTargetLevel
    CoreWebView2PermissionKind
        WindowManagement
 
    CoreWebView2Profile
        CookieManager
        IsGeneralAutofillEnabled
        IsPasswordAutosaveEnabled
 
    CoreWebView2Settings
        IsReputationCheckingRequired
 
    CoreWebView2WebMessageReceivedEventArgs
        AdditionalObjects
Microsoft.Windows.Widgets.Providers
 
    IWidgetProvider2
    IWidgetProviderAnalytics
    IWidgetProviderErrors
    WidgetAnalyticsInfoReportedArgs
    WidgetCustomizationRequestedArgs
    WidgetErrorInfoReportedArgs

Version 1.3 Vorschau 1 (1.3.0-preview1)

Das ist das neueste Release des Vorschaukanals für Version 1.3. Dieses Release enthält die Vorschau für neue Features in WinAppSDK und mehrere Programmfehlerbehebungen bezüglich Leistung, Sicherheit, Bedienungshilfen und Zuverlässigkeit.

In einer vorhandenen Windows App SDK 1.2-App (aus dem stabilen Kanal) können Sie Ihr NuGet-Paket auf 1.3.0-preview1 aktualisieren (weitere Informationen finden Sie im Abschnitt Aktualisieren eines Pakets in Installieren und Verwalten von Paketen in Visual Studio mit dem NuGet-Paket-Manager).

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

XAML-Hintergrund-APIs

Mit in das XAML-Fenster integrierten Eigenschaften können Mica- und Background Acrylic-Hintergründe jetzt einfacher in Ihrer WinUI 3-App verwendet werden. Weitere Informationen zur Window.SystemBackdrop-Eigenschaft finden Sie in der XAML-Hintergrund-API-Spezifikation auf GitHub.

public MainWindow()
{
    this.InitializeComponent();

    this.SystemBackdrop = new MicaBackdrop();
}

Window.AppWindow

Durch Ersetzen mehrerer Zeilen mit Codebausteinen können Sie AppWindow-APIs jetzt über direkt aus einem FensterWindow.AppWindow verwenden. Weitere Hintergrund- und Nutzungsinformationen finden Sie in der Windows.AppWindow-API-Spezifikation auf GitHub.

Neue Features aus WinAppSDK

  • ApplicationModel.DynamicDependency: PackageDependency.PackageGraphRevisionId ersetzt die veraltete MddGetGenerationId-Funktion.
  • Umgebungs-Manager: EnvironmentManager.AreChangesTracked informiert Sie darüber, ob Änderungen am Umgebungs-Manager in Ihrer Anwendung nachverfolgt werden können. Weitere Informationen finden Sie in der Spezifikation Umgebungs-Manager API auf GitHub.
  • MRT Core: Ein neues Ereignis Application.ResourceManagerInitializing ermöglicht Ihrer App die Bereitstellung einer eigenen Implementierung der IResourceManager Schnittstelle und bietet Ihnen Zugriff auf den ResourceManager, den WinUI zum Auflösen von Ressourcen-URIs verwendet. Weitere Informationen finden Sie in der Spezifikation der IResourceManager API auf GitHub.
  • Mit dem neuesten experimentellen VSIX-Paket können Sie Ihre App jetzt über das Visual Studio-Menü anstatt in Ihrer Projektdatei von der nicht gepackten in die gepackte Version konvertieren.
  • Ein neues Ereignis, DebugSettings.XamlResourceReferenceFailed wird jetzt ausgelöst, wenn ein referenzierter Static-/ThemeResource-Lookup nicht aufgelöst werden kann. Dieses Ereignis gibt Zugriff auf eine Ablaufverfolgung, die angibt, wo das Framework nach diesem Schlüssel gesucht hat, damit Sie Fehler bei Static- und ThemeResource-Lookups besser debuggen können. Weitere Informationen finden Sie in der API-Spezifikation und in den Issues 4972, 2350 und 6073 auf GitHub.
  • Bereitstellung: Zum Verwalten und Reparieren der Windows-App-Runtime steht jetzt DeploymentRepairOptions als Teil von DeploymentManager zur Verfügung. Weitere Informationen finden Sie im Abschnitt zur Reparatur in der Spezifikation der Bereitstellungs-API auf GitHub.

Bekannte Probleme

  • Das Pivot-Steuerelement verursacht einen Laufzeitabsturz mit einem XAML-Parsingfehler. Weitere Informationen finden Sie im Issue 8160 auf GitHub.
  • Wenn das DatePicker- oder TimePicker-Flyout geöffnet wird, stürzt die App ab.
  • Die in den 1.3-Releases eingeführten WindowsAppRuntime.ReleaseInfo- und WindowsAppRuntime.RuntimeInfo-APIs werden noch nicht unterstützt, da sie einen kritischen Bug enthalten.

Version 1.2 Vorschau 2 (1.2.0-preview2)

Das ist das neueste Release des Vorschaukanals für Version 1.2.

In einer vorhandenen Windows App SDK 1.1-App (aus dem stabilen Kanal) können Sie Ihr NuGet-Paket auf 1.2.0-preview2 aktualisieren (weitere Informationen finden Sie im Abschnitt Aktualisieren eines Pakets in Installieren und Verwalten von Paketen in Visual Studio mit dem NuGet-Paket-Manager).

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

Wichtig

Visual Studio 2019 und .NET 5 werden für das Kompilieren von C#-Apps nicht mehr unterstützt (siehe Windows App SDK 1.2 moving to C# WinRT 2.0). Sie benötigen Visual Studio 2022 und eine der folgenden .NET SDK-Versionen: 6.0.401 (oder höher), 6.0.304, 6.0.109.

Zum Aktualisieren Ihrer .NET SDK-Version installieren Sie die neueste Version von Visual Studio 2022, oder besuchen Sie die Download-Website für .NET. Wenn Sie Ihr NuGet-Paket ohne die erforderliche .NET SDK-Version aktualisieren, wird ein Fehler wie dieser angezeigt: Diese Version von WindowsAppSDK erfordert .NET 6 oder höher und WinRT.Runtime.dll Version 2.0 oder höher. Um das Projekt von .NET 5.0 auf .NET 6.0 zu aktualisieren, öffnen Sie die Projektdatei, und ändern Sie „TargetFramework“ zu net6.0 und „Zielbetriebssystemversion“ in den entsprechenden Wert (z. B. net6.0-windows10.0.19041.0).

Widgets von Drittanbietern in Windows

Das Widgets-Board wurde erstmals in Windows 11 eingeführt und war auf die Anzeige von Erstanbieter-Widgets beschränkt. Widgets sind kleine UI-Container, die Text und Bilder auf dem Widgets-Board anzeigen, und sind mit einer auf dem Gerät installierten App verknüpft. Mit dem Windows App SDK können Drittanbieterentwickler*innen jetzt Widgets für Ihre gepackten Win32-Apps erstellen und diese lokal auf dem Widgets-Board unter Windows 11 testen.

Weitere Informationen zu Widgets finden Sie in der Übersicht über Widgets.

Zum Einstieg in die Entwicklung von Widgets für Ihre App finden Sie in der Dokumentation zur Entwicklung durch Widgetanbieter und den Grundlagen des Widgetdesigns Informationen zu Voraussetzungen sowie Anleitungen und Best Practices.

Zu den Voraussetzungen für dieses Release gehören:

  • Der Entwicklermodus muss auf dem Entwicklungscomputer aktiviert sein.
  • Auf dem Entwicklungscomputer wird eine Windows-Version aus dem Dev-Kanal des Windows Insider Program (WIP) mit Widgets-Board-Version 521.20060.1205.0 oder höher ausgeführt.

Bekannte Einschränkungen beim Entwickeln von Widgets

  • Widgets von Drittanbietern können nur lokal auf Geräten getestet werden, die für diese Vorschauversion bei WIP registriert sind. In Windows App SDK 1.2.0 können Benutzer von Einzelhandelsversionen von Windows über die vom Microsoft Store ausgelieferten Versionen Ihrer App mit dem Erwerb von 3P-Widgets beginnen.
  • Widgets können nur für gepackte Win32-Apps erstellt werden. Die Unterstützung für Widgets für progressive Web-Apps (PWA) ist im Rahmen von Microsoft Edge 108 geplant.

Kürzen für Apps, die mit .NET entwickelt wurden

.NET-Entwickler können WinAppSDK-Apps jetzt in gekürzter Form veröffentlichen. Mit CsWinRT 2.0 können die in WinAppSDK verteilten C#/WinRT-Projektionen jetzt gekürzt werden. Die Veröffentlichung Ihrer App in gekürztem Zustand kann den Speicherplatzbedarf Ihrer App verringern, indem nicht verwendeter Code aus kürzungsfähigen Binärdateien entfernt wird. Bei Apps kann auch eine Verbesserung der Startleistung festgestellt werden. Bei einer einfachen „Hallo Welt“-App haben wir eine Verbesserung von ca. 80 % beim Datenträgerspeicherplatz und eine Verbesserung von ca. 7 % bei der Startleistung festgestellt, wenn die App gekürzt veröffentlicht wurde. Beim dem WinUI-Katalog haben wir eine Verbesserung des Speicherplatzbedarfs von ca. 45 % festgestellt.

Weitere Informationen zum Aktivieren der Kürzung, Einschränkungen beim Kürzen (z. B. Reflektion für kürzungsfähige Typen) und Kürzen von Warnungen finden Sie unter Kürzen eigenständiger Bereitstellungen und ausführbarer Dateien. Entwickler*innen sollten ihre Apps nach dem Kürzen gründlich testen, um sicherzustellen, dass alles wie erwartet funktioniert. Weitere Informationen finden Sie im GitHub-Issue #2478.

DisplayInformation

Win32-Apps können jetzt High Dynamic Range (HDR) über die DisplayInformation-Klasse in WinAppSDK unterstützen. Mit der DisplayInformation-Klasse können Sie displaybezogene Informationen für eine Anwendungsansicht überwachen. Dies umfasst Ereignisse, mit denen Clients Änderungen an der Anwendungsansicht überwachen können, die sich darauf auswirken, auf welchen Displays die Ansicht angezeigt wird, sowie Änderungen an Displays, die sich auf die Anwendungsansicht auswirken können.

Behobene Probleme in WinUI 3

  • Material mit Acrylic-Hintergrund über DesktopAcrylicController wird jetzt in Windows 10-Apps unterstützt. Weitere Informationen finden Sie im GitHub-Issue #7112.
  • Es wurde ein Problem behoben, das dazu führte, dass App.UnhandledException nicht an die Anwendung weitergeleitet wurde. Weitere Informationen finden Sie im GitHub-Issue #5221.
  • Ein Problem wurde behoben, das dazu führte, dass ListView-Stile aus WinAppSDK 1.1 zurückgebildet und geändert wurden. Weitere Informationen finden Sie im GitHub-Issue #7666.

Weitere Einschränkungen und bekannte Probleme

Wichtig

Wenn Sie aus einem Projekt auf WinAppSDK 1.2 verweisen, wird möglicherweise ein Fehler ähnlich dem folgenden angezeigt: Paketdowngrade erkannt: Microsoft.Windows.SDK.BuildTools von 10.0.22621.1 auf 10.0.22000.194. Dieser wird durch inkompatible Verweise auf das Paket aus dem App-Projekt und dem WinAppSDK-Paket verursacht. Um dies zu beheben, können Sie den Verweis im Projekt auf eine neuere und kompatible Version von Microsoft.Windows.SDK.BuildTools aktualisieren oder einfach den Verweis aus Ihrem Projekt entfernen. Wenn Sie ihn aus Ihrem Projekt entfernen, wird vom WinAppSDK-Paket implizit auf eine kompatible Version verwiesen.

  • Das Erstellen mit Arm64 Visual Studio wird derzeit nicht unterstützt.
  • Die Standardwerte für die automatischen Initialisierer von Bootstrapper und Undocked RegFree WinRT sind (jetzt) nur für Projekte festgelegt, die eine ausführbare Datei erzeugen (OutputType: „Exe“ oder „WinExe“). Dies verhindert das standardmäßige Hinzufügen automatischer Initialisierer zu Klassenbibliothek-DLLs und anderen nicht ausführbaren Dateien.
    • Wenn Sie einen automatischen Initialisierer in einer nicht ausführbaren Datei benötigen (z. B. eine Test-DLL, die von einer generischen ausführbaren Datei geladen wird, die den Bootstrapper nicht initialisiert), können Sie einen automatischen Initialisierer in Ihrem Projekt explizit über <WindowsAppSdkBootstrapInitialize>true</WindowsAppSdkBootstrapInitialize> oder <WindowsAppSdkUndockedRegFreeWinRTInitialize>true</WindowsAppSdkUndockedRegFreeWinRTInitialize> aktivieren.
  • Die APIs für Versionsinformationen (ReleaseInfo und RuntimeInfo) können aufgerufen werden, geben aber Version 0 zurück (und nicht die tatsächlichen Versionsinformationen).

Version 1.2 Vorschau 1 (1.2.0-preview1)

In einer vorhandenen Windows App SDK 1.1-App (aus dem stabilen Kanal) können Sie Ihr NuGet-Paket auf 1.2.0-preview1 aktualisieren (weitere Informationen finden Sie im Abschnitt Aktualisieren eines Pakets in Installieren und Verwalten von Paketen in Visual Studio mit dem NuGet-Paket-Manager).

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

WinUI 3

WinUI 3-Apps können Audio- und Videodaten mit den Steuerelementen MediaPlayerElement und MediaTransportControls für die Medienwiedergabe wiedergeben. Weitere Informationen zur Verwendung von Mediensteuerelementen finden Sie unter Media Player.

WinUI 3 wurde mit den neuesten Steuerelementen, Stilen und Verhaltensweisen von WinUI 2.8 aktualisiert. Diese Updates umfassen das Hinzufügen des Steuerelements InfoBadge, Verbesserungen bei Barrierefreiheit und dem Modus mit hohem Kontrast sowie Fehlerbehebungen für verschiedene Steuerelemente. Weitere Informationen finden Sie in den Versionshinweisen für WinUI 2.7 und WinUI 2.8.

Bekanntes Problem

ListView-Formatvorlagen wurden aus WinAppSDK 1.1 zurückgebildet und geändert.

Benachrichtigungen

AppNotificationBuilder wurde als Alternative zur XML-Payload zum Erstellen und Definieren von App-Benachrichtigungen eingeführt.

Informationen zur Verwendung finden Sie in der Spezifikation zu AppNotificationBuilder auf GitHub.

Ein Beispiel zum Erstellen einer Windows-Desktopanwendung, die lokale App-Benachrichtigungen sendet und empfängt, finden Sie auch unter Schnellstart: App-Benachrichtigungen im Windows App SDK.

Wichtige Änderung

Damit Pushbenachrichtigungen verarbeitet werden, müssen Apps beim Senden eines Anforderungsaufrufs für den Kanal die Azure-Objekt-ID anstelle der Azure-App-ID verwenden. Weitere Informationen zum Suchen nach Ihrer Azure-Objekt-ID finden Sie unter Schnellstart: Pushbenachrichtigung im Windows App SDK.

Behobenes Problem

PushNotificationManager.IsSupported führt eine Überprüfung auf den Modus mit erhöhten Rechten durch. Wenn die App über erhöhte Rechte verfügt, wird false zurückgegeben.

Bekannte Einschränkungen (Benachrichtigungen)

Windowing

Eine vollständige Anpassung der Titelleiste ist jetzt unter Windows 10, Version 1809 und höher über die AppWindowTitleBar-Klasse verfügbar. Sie können AppWindowTitleBar.ExtendContentIntoTitleBar auf true festlegen, um Inhalte in den Titelleistenbereich zu erweitern, und Sie können SetDragRectangles festlegen, um Ziehbereiche (zusätzlich zu anderen Anpassungsoptionen) zu definieren.

Wenn Sie die Eigenschaft AppWindowTitleBar.IsCustomizationSupported verwendet haben, um zu überprüfen, ob Sie die AppWindowTitleBar-APIs aufrufen können, gibt sie in unterstützten Versionen von Windows 10 (1809 und höher) für Windows App SDK jetzt true zurück.

Bekannte Einschränkungen (Fensterfunktionen)

Einfache Titelleistenanpassungen werden unter Windows 10 nicht unterstützt. Dazu gehören BackgroundColor, InactiveBackgroundColor, ForegroundColor, InactiveForegroundColor und IconShowOptions. Wenn Sie diese Eigenschaften aufrufen, werden sie ohne Rückmeldung ignoriert. Alle anderen AppWindowTitleBar-APIs funktionieren unter Windows 10, Version 1809 und höher. Für die APIs für die Farben von Schaltflächen für Untertitel (u. a.) sowie für Height muss ExtendsContentIntoTitleBar auf true festgelegt werden, andernfalls werden sie ebenfalls ohne Rückmeldung ignoriert.

Zugriffssteuerung

Security.accesscontrol.h mit der Funktion GetSecurityDescriptorForAppContainerNames wurde eingeführt, um die gemeinsame Nutzung benannter Objekte für gepackte Prozesse und allgemeine Win32-APIs zu vereinfachen und zu optimieren. Diese Methode akzeptiert eine Liste mit Paketfamiliennamen (Package Family Names, PFNs) und Zugriffsmasken und gibt einen Sicherheitsdeskriptor zurück. Weitere Informationen finden Sie in der Spezifikation zu GetSecurityDescriptorForAppContainerNames auf GitHub.

Weitere Einschränkungen und bekannte Probleme

  • .NET PublishSingleFile wird nicht unterstützt.

Version 1.1 Vorschau 3 (1.1.0-preview3)

Das ist das neueste Release des Vorschaukanals für Version 1.1. Es unterstützt alle Features des Vorschaukanals (siehe Features, die über den Releasekanal verfügbar sind).

In einer vorhandenen App unter Verwendung von Windows App SDK 1.0 können Sie Ihr NuGet-Paket auf 1.1.0-preview3 aktualisieren (weitere Informationen finden Sie im Abschnitt Aktualisieren eines Pakets in Installieren und Verwalten von Paketen in Visual Studio mit dem NuGet-Paket-Manager). Darüber hinaus finden Sie Aktualisierungen von Runtime und MSIX unter Downloads für das Windows App SDK.

Hinweis

Für die C#-Entwicklung ist eine der folgenden .NET SDK-Versionen (oder höher) erforderlich: 6.0.202, 6.0.104, 5.0.407, 5.0.213. Zum Aktualisieren Ihrer .NET SDK-Version besuchen Sie die Download-Website für .NET, oder aktualisieren Sie Visual Studio auf die neueste Version. Wenn Sie Ihr NuGet-Paket ohne die erforderliche .NET SDK-Version aktualisieren, wird ein Fehler wie dieser angezeigt: Diese Version von WindowsAppSDK erfordert WinRT.Runtime.dll Version 1.6 oder höher.

Neben allen Features der Vorschau 2 werden in den folgenden Abschnitten neue und aktualisierte Features, Einschränkungen und bekannte Probleme für dieses Release beschrieben.

WinUI 3

Mica und Background Acrylic sind jetzt für WinUI 3-Anwendungen verfügbar.

Weitere Informationen zu diesen Materialien finden Sie unter Materialien in Windows 11. Sehen Sie sich unseren Beispielcode zum Anwenden von Mica in C++-Anwendungen unter Verwenden eines SystemBackdropController mit WinUI 3-XAML und in C#-Anwendungen auf GitHub in der WinUI-Steuerelementsammlung an.

Benachrichtigungen

Behobene Probleme:

  • In 1.1.0-preview1 und 1.1.0-preview2 wurden die App-Symbole einiger ungepackter Apps fälschlicherweise in AppData\LocalMicrosoftWindowsAppSDK kopiert. Bei diesem Release werden sie stattdessen in AppData\Local\Microsoft\WindowsAppSDK kopiert. Um den Verlust von Symbolen zu vermeiden, sollten Sie das App-Symbol nach dem Update auf 1.1.0-preview3 unter dem falschen Pfad manuell löschen.
  • Der Abruf von App-Symbol und App-Anzeige für App-Benachrichtigungen über Verknüpfungen wird jetzt unterstützt. Dieses App-Symbol hat Vorrang vor einem in Ressourcendateien angegebene Symbol.
  • Die Unterstützung von Pushbenachrichtigungen für ungepackte Apps wurde wiederhergestellt (siehe Einschränkungen für die beschriebene Ausnahme). Wir haben die API PushNotificationManager::IsSupported eingeführt, mit der sich überprüfen lässt, ob Ihre App Pushbenachrichtigungen unterstützt.

Einschränkungen:

  • Benachrichtigungen für eine nicht gepackte App mit erhöhten Rechten werden nicht unterstützt. PushNotificationManager::IsSupported führt keine Überprüfung auf den Modus mit erhöhten Rechten durch. Wir arbeiten jedoch an der Unterstützung dieser Funktion in einem künftigen Release.

MSIX-Paketerstellung

MSIX wurde durch Aufnahme neuer und Erweiterung vorhandener Funktionen über folgende Erweiterungskategorien erweitert:

  • windows.appExecutionAlias
  • windows.customDesktopEventLog
  • windows.dataShortcuts
  • windows.fileTypeAssociation
  • windows.fileTypeAssociation.iconHandler
  • windows.folder
  • windows.shortcut

Hierfür muss das Windows App SDK-Frameworkpaket installiert sein. Informationen zum Installieren der Runtime finden Sie bei den Downloads für das Windows App SDK.

Umgebungsmanager

API-Satz, mit dem Entwickler Umgebungsvariablen hinzufügen, entfernen und ändern können, ohne die Registrierungs-API direkt verwenden zu müssen.

Klarstellung zu 1.1 Vorschau 1: Das automatisches Entfernen von Änderungen an Umgebungsvariablen beim Deinstallieren einer App, die den Umgebungsmanager verwendet hat, ist nur für gepackte Apps verfügbar. Darüber hinaus erfordert das Rückgängigmachen der Umgebungsvariablen die Installation des Windows App SDK-Frameworkpakets. Weitere Informationen finden Sie unter Downloads für das Windows App SDK für die Runtime.

Andere bekannte Einschränkungen

Regressionen von 1.1 Vorschau 2:

  • Für .NET-Apps mit MRT Core-APIs und WinUI-Apps, die nicht mit Einzelprojekt-MSIX bereitgestellt werden:
    • RESW- und Bilddateien, die dem Projekt als vorhandene Elemente hinzugefügt wurden und bisher automatisch in die ItemGroups PRIResource bzw. Content aufgenommen wurden, werden nicht in diese ItemGroups aufgenommen. Aufgrund dessen werden diese Ressourcen während der PRI-Generierung nicht indiziert und sind deshalb während der Runtime nicht verfügbar.
      • Problemumgehung: Nehmen Sie die Ressourcen manuell in die Projektdatei auf und entfernen Sie sie aus der ItemGroup None.
      • Alternative Problemumgehung: Nehmen Sie, falls verfügbar, ein Upgrade des .NET SDK Ihrer Apps auf 6.0.300 vor. Weitere Informationen finden Sie unter Versionsanforderungen für .NET SDK .
  • Für .NET-Apps, die nicht mit Einzelprojekt-MSIX bereitgestellt werden:
    • Wenn eine Datei zweimal oder öfter zur ItemGroup Content hinzugefügt wird, tritt ein Buildfehler auf.
      • Problemumgehung: Löschen Sie die doppelte(n) Aufnahme(n) oder setzen Sie EnableDefaultContentItems in der Projektdatei auf „false“.

Beide Regressionen werden im nächsten stabilen Release wiederhergestellt.

Version 1.1 Vorschau 2 (1.1.0-preview2)

Das ist das zweite Release des Vorschaukanals für Version 1.1. Es unterstützt alle Features des Vorschaukanals (siehe Features, die über den Releasekanal verfügbar sind).

In einer vorhandenen App unter Verwendung von Windows App SDK 1.0 können Sie Ihr NuGet-Paket auf 1.1.0-preview2 aktualisieren (weitere Informationen finden Sie im Abschnitt Aktualisieren eines Pakets in Installieren und Verwalten von Paketen in Visual Studio mit dem NuGet-Paket-Manager). Darüber hinaus finden Sie Aktualisierungen von Runtime und MSIX unter Downloads für das Windows App SDK.

Hinweis

Für die C#-Entwicklung ist eine der folgenden .NET SDK-Versionen (oder höher) erforderlich: 6.0.202, 6.0.104, 5.0.407, 5.0.213. Zum Aktualisieren Ihrer .NET SDK-Version besuchen Sie die Download-Website für .NET, oder aktualisieren Sie Visual Studio auf die neueste Version. Wenn Sie Ihr NuGet-Paket ohne die erforderliche .NET SDK-Version aktualisieren, wird ein Fehler wie dieser angezeigt: Diese Version von WindowsAppSDK erfordert WinRT.Runtime.dll Version 1.6 oder höher.

Neben allen Features der Vorschau 1 werden in den folgenden Abschnitten neue und aktualisierte Features, Einschränkungen und bekannte Probleme für dieses Release beschrieben.

Benachrichtigungen

Behobene Probleme:

  • Bei einer App ohne Paketidentität zum Senden von Benachrichtigungen wird nun das App-Symbol in der Benachrichtigung angezeigt, wenn das Symbol Teil der App-Ressource ist. Wenn es in der App-Ressource kein Symbol gibt, wird das Windows-Standard-App-Symbol verwendet.
  • Eine nicht ausgeführte WinUI 3-App kann jetzt über eine Benachrichtigung im Hintergrund aktiviert werden.

Regression von 1.1 Vorschau 1: Unterstützung von Pushbenachrichtigungen für ungepackte Apps. Für das nächste Release wird die Wiederherstellung erwartet.

Bekannte Einschränkungen:

  • Wir haben die API PushNotificationManager::IsSupported eingeführt, mit der sich überprüfen lässt, ob eigenständige Apps Pushbenachrichtigungen unterstützen. Diese API funktioniert jedoch noch nicht wie vorgesehen. Achten Sie daher im nächsten Vorschaurelease auf die vollständige Unterstützung der IsSupported-API.
  • Die App-Symbole einiger ungepackter Apps wurden fälschlicherweise in AppData\LocalMicrosoftWindowsAppSDK kopiert. Beim nächsten Release werden sie stattdessen in AppData\Local\Microsoft\WindowsAppSDK kopiert. Um den Verlust von Symbolen zu vermeiden, sollte der Entwickler sein App-Symbol nach dem Upgrade auf das nächste Release unter dem falschen Pfad manuell löschen.
  • Der Abruf von App-Symbol und App-Anzeige für Benachrichtigungen über Verknüpfungen wird nicht unterstützt. Wir arbeiten aber an der Unterstützung in einem künftigen Release.

Bereitstellung

Neue Features:

Bekannte Einschränkungen:

  • Die eigenständige Bereitstellung wird nur unter Windows 10, 1903 und höher unterstützt.

Windowing

Für einen einfacheren Programmierzugriff auf Funktionen, die in USER32.dll implementiert sind (siehe Fenster und Meldungen), zeigt dieses Release mehr von dieser Funktionalität in AppWindow selbst.

Neue Features:

  • Apps mit vorhandenen Fenstern haben durch Aufrufen von AppWindow.ShowOnceWithRequestedStartupState – dem Äquivalent zu ShowWindow(SW_SHOWDEFAULT) – mehr Kontrolle darüber, wie ein Fenster angezeigt wird.
  • Apps können ein Fenster anzeigen, minimieren oder wiederherstellen. Sie können auch angeben, ob das Fenster zum Zeitpunkt des Aufrufs aktiviert werden soll oder nicht.
  • Apps können jetzt die Clientbereichsgröße eines Fensters in Win32-Koordinaten festlegen.
  • Wir haben APIs zur Unterstützung der Z-Reihenfolgen-Verwaltung von Fenstern hinzugefügt.
  • Apps, die mit AppWindowTitleBar.ExtendsContentIntoTitleBar benutzerdefinierte Titelleisten zeichnen, können eine Option PreferredTitleBarHeight festlegen. Sie haben jetzt die Wahl zwischen einer Titelleiste mit Standardhöhe oder einer hohen Titelleiste, die mehr Platz für interaktive Inhalte bietet. Informationen zur Verwendung einer hohen Titelleiste finden Sie unter Titelleiste in den Fluent Design-Richtlinien.

Bekannte Einschränkungen:

  • Die Unterstützung der hohen Titelleiste ist nur unter Windows 11 verfügbar. Wir arbeiten an der Vereinheitlichung mit anderen benutzerdefinierten Titelleisten-APIs aus älteren Versionen.

WinUI 3

Behobene Probleme:

  • Durch Upgrade des WebView2 SDK von 1020.46 auf 1185.39 wurde ein Problem behoben, das dazu führte, dass C#-Apps mit WebView2 beim Start abstürzten, wenn die C/C++ Runtime (CRT) nicht installiert war.
  • Ein Problem wurde behoben, das dazu führte, dass in einigen abgerundeten Ecken ein Farbverlauf angezeigt wurde, obwohl es sich um eine Volltonfarbe handeln sollte. Weitere Informationen finden Sie in Issue 6076 und Issue 6194 auf GitHub.
  • Ein Problem wurde behoben, bei dem aktualisierte Stile in generic.xaml fehlten.
  • Es wurde ein Layoutzyklusproblem behoben, das dazu führte, dass eine App abstürzte, wenn bis zum Ende einer ListView gescrollt wurde. Weitere Informationen finden Sie im Issue #6218 auf GitHub.

Leistung

Für C#-Anwendungen gibt es mehrere Leistungsverbesserungen. Weitere Informationen finden Sie in den Versionshinweisen zu C#/WinRT 1.6.1.

Version 1.1 Vorschau 1 (1.1.0-preview1)

Das ist das erste Release des Vorschaukanals für Version 1.1. Es unterstützt alle Features des Vorschaukanals (siehe Features, die über den Releasekanal verfügbar sind).

In einer vorhandenen App unter Verwendung von Windows App SDK 1.0 können Sie Ihr NuGet-Paket auf 1.1.0-preview1 aktualisieren (weitere Informationen finden Sie im Abschnitt Aktualisieren eines Pakets in Installieren und Verwalten von Paketen in Visual Studio mit dem NuGet-Paket-Manager). Darüber hinaus finden Sie Aktualisierungen von Runtime und MSIX unter Downloads für das Windows App SDK.

In den folgenden Abschnitten werden neue und aktualisierte Features, Einschränkungen und bekannte Probleme für diese Version beschrieben.

WinUI 3

Bekanntes Problem: Benutzer können ein Element nicht ablegen, wenn Drag & Drop aktiviert ist.

Unterstützung erhöhter Rechte (Administrator)

Mit Windows App SDK 1.1 Vorschau 1 können Apps (einschließlich WinUI 3) mit erhöhten Rechten ausgeführt werden.

Wichtige Einschränkungen

  • Derzeit nur unter Windows 11 verfügbar. Wir prüfen jedoch, ob diese Unterstützung in einem späteren Release vereinheitlicht werden kann.

Bekannte Probleme

  • WinUI 3-Apps stürzen ab, wenn während einer Drag & Drop-Interaktion ein Element gezogen wird.

Eigenständige Bereitstellung

Windows App SDK 1.1 führt die Unterstützung der eigenständigen Bereitstellung ein. Unsere Übersicht über die Bereitstellung enthält Informationen zu den Unterschieden zwischen frameworkabhängiger und eigenständiger Bereitstellung sowie zu den ersten Schritten.

Bekannte Probleme:

  • Eine gepackte C++-App muss unten in der Projektdatei den Folgendes hinzufügen, um einen Bug in der eigenständigen .targets-Datei zu umgehen, der Frameworkverweise auf VCLibs entfernt:

    <PropertyGroup>
        <IncludeGetResolvedSDKReferences>true</IncludeGetResolvedSDKReferences>
    </PropertyGroup>
    
    <Target Name="_RemoveFrameworkReferences"
        BeforeTargets="_ConvertItems;_CalculateInputsForGenerateCurrentProjectAppxManifest">
        <ItemGroup>
            <FrameworkSdkReference Remove="@(FrameworkSdkReference)" Condition="'%(FrameworkSdkReference.SDKName)' == 'Microsoft.WindowsAppRuntime.1.1-preview1'" />
        </ItemGroup>
    </Target>
    
  • Nur unter Windows 10, 1903 und höher unterstützt.

Benachrichtigungen

Entwickler*innen von gepackten Apps (einschließlich gepackten Apps mit externem Speicherort) und nicht gepackten Apps können jetzt Windows-Benachrichtigungen senden.

Neue Features:

  • Unterstützung für App-Benachrichtigungen für gepackte und nicht gepackte Apps. Vollständige Details auf GitHub
    • Entwickler*innen können App-Benachrichtigungen – auch als Popupbenachrichtigungen bezeichnet – lokal oder über ihren eigenen Clouddienst senden.
  • Unterstützung der Pushbenachrichtigung für gepackte und ungepackte Apps. Vollständige Details auf GitHub
    • Entwickler*innen können unformatierte Benachrichtigungen oder App-Benachrichtigungen über ihren eigenen Clouddienst senden.

Einschränkungen:

  • Als eigenständig veröffentlichte Apps haben möglicherweise keine Unterstützung von Pushbenachrichtigungen. Achten Sie im nächsten Vorschaurelease auf eine IsSupported-API, um die Unterstützung von Pushbenachrichtigungen zu überprüfen.
  • Bei ungepackten Apps, die App-Benachrichtigungen senden, ist das App-Symbol in der App-Benachrichtigung nicht zu sehen, es sei denn, es handelt sich um Konsolenanwendungen. Ungepackte Konsolen-Apps sollten den Mustern aus dem Beispiel ToastNotificationsDemoApp folgen.
  • Zur Unterstützung von Pushbenachrichtigung muss Windows App SDK-Runtime installiert werden, siehe Downloads für das Windows App SDK für das Installationsprogramm.
  • Eine nicht ausgeführte WinUI 3-App kann nicht über eine Benachrichtigung im Hintergrund aktiviert werden. Wir arbeiten aber an der Unterstützung in einem künftigen Release.

Umgebungsmanager

API-Satz, mit dem Entwickler Umgebungsvariablen hinzufügen, entfernen und ändern können, ohne die Registrierungs-API direkt verwenden zu müssen.

Neue Features

  • Ermöglicht das automatische Entfernen von Änderungen an Umgebungsvariablen beim Deinstallieren einer App, die den Umgebungs-Manager verwendet hat.

Einschränkungen

  • Derzeit nicht in C#-Apps verfügbar. Wir prüfen jedoch die Aufnahme dieses Features in C#-Apps in einem späteren Release.

Weitere Einschränkungen und bekannte Probleme

  • Wenn Sie C# mit 1.1.0 Vorschau 1 verwenden, müssen Sie mindestens eine der folgenden .NET SDK-Versionen verwenden: .NET SDK 6.0.201, 6.0.103, 5.0.212 oder 5.0.406. Für ein Upgrade Ihrer .NET SDK-Version können Sie ein Update auf die neueste Version von Visual Studio vornehmen oder zu Download .NET gehen.

Version 1.0 Vorschau 3 (1.0.0-preview3)

Vorschau 3 ist das neueste Release des Vorschaukanals für Version 1.0 des Windows App SDK. Vorschau 3 unterstützt alle Features des Vorschaukanals.

Herunterladen von Visual Studio-Erweiterungen (VSIX) für 1.0 Vorschau 3

Hinweis

Wenn Sie bereits Visual Studio-Erweiterungen (VSIX) für das Windows App SDK installiert haben, deinstallieren Sie diese, bevor Sie eine neue Version installieren. Anweisungen finden Sie unter Verwalten von Erweiterungen für Visual Studio.

In der folgenden Tabelle können Sie die Visual Studio-Erweiterungen (VSIX) für das Release 1.0 Vorschau 3 herunterladen. Alle Versionen finden Sie unter Downloads für das Windows App SDK. Konfigurieren Sie zunächst, falls noch nicht geschehen, Ihre Entwicklungsumgebung nach den Schritten unter Installationstools für das Windows App SDK.

Die folgenden Erweiterungen sind auf Ihre Programmiersprache und Version von Visual Studio zugeschnitten.

Downloads für 1.0 Vorschau 3 Beschreibung
C# Erweiterung für Visual Studio 2019 Erstellen von C#-Apps mit der Erweiterung für Visual Studio 2019 für Windows App SDK.
C++ Erweiterung für Visual Studio 2019 Erstellen von C++-Apps mit der Erweiterung für Visual Studio 2019 für Windows App SDK.
C# Erweiterung für Visual Studio 2022 Erstellen von C#-Apps mit der Erweiterung für Visual Studio 2022 für Windows App SDK.
C++ Erweiterung für Visual Studio 2022 Erstellen von C++-Apps mit der Erweiterung für Visual Studio 2022 für Windows App SDK.
Die .exe-Installationsprogramm- und MSIX-Pakete Stellen Sie das Windows App SDK mit Ihrer App mit den .exe-Installationsprogramm- und MSIX-Paketen bereit.

In den folgenden Abschnitten werden neue und aktualisierte Features, Einschränkungen und bekannte Probleme für 1.0 Vorschau 3 beschrieben.

WinUI 3

Wir unterstützen jetzt die Bereitstellung von WinUI 3-Apps ohne MSIX-Paketerstellung. Informationen zum Konfigurieren Ihrer WinUI 3-Anwendung zur Unterstützung der ungepackten Bereitstellung finden Sie unter Erstellen Ihres ersten WinUI 3-Projekts.

Wichtige Einschränkungen

  • Ungepackte WinUI 3-Anwendungen werden nur unter Windows-Versionen 1909 und höher unterstützt.
  • Ungepackte WinUI 3-Anwendungen werden auf x86 und x64 unterstützt. Arm64-Unterstützung kommt im nächsten stabilen Release hinzu.
  • Es sind MSIX-Paketerstellungstools für Einzelprojekte für Visual Studio 2019 oder Visual Studio 2022 sind für ungepackte Apps erforderlich.
  • In einer ungepackten App erhalten Sie möglicherweise eine Aufforderung zum Installieren von .NET 3.5, die ignoriert werden kann.
  • Einige APIs werden in ungepackten Apps derzeit nicht unterstützt. Das soll im nächsten stabilen Release behoben werden. Einige Beispiele:
  • ListView-, CalendarView- und GridView-Steuerelemente verwenden die falschen Formatvorlagen, was im nächsten stabilen Release behoben werden soll.

Weitere Informationen sowie die erste Schritte zur Entwicklung mit WinUI 3 finden Sie unter:

Weitere Einschränkungen und bekannte Probleme

  • Ungepackte Apps werden unter Windows 10, Version 1809 nicht unterstützt. Das soll im nächsten Release im stabilen Kanal behoben werden.

  • Eine C#-MSIX-Einzelprojekt-App wird nicht kompiliert, wenn die C++-UWP-Tools nicht installiert sind. Im Fall einer C#-App mit einem MSIX-Einzelprojektpaket müssen Sie die optionale Komponente C++ (v14x)-Tools für Universelle Windows-Plattform installieren.

  • In diesem Release werden die Projektvorlagen Leere App, gepackt (WinUI 3 in Desktop) für C# und C++ eingeführt. Diese Vorlagen ermöglichen Ihnen die Aufnahme Ihrer App in ein MSIX-Paket ohne Verwendung eines separaten Paketerstellungprojekts (siehe Packen Ihrer App mit Einzelprojekt-MSIX). Diese Vorlagen haben einige bekannte Probleme in diesem Release:

    • Menüelement „Veröffentlichen“ fehlt, bis Visual Studio neu gestartet wird. Beim Erstellen einer neuen App in Visual Studio 2019 und Visual Studio 2022 mithilfe der Projektvorlage Leere App, gepackt (WinUI 3 in Desktop) wird der Befehl zum Veröffentlichen des Projekts erst im Menü angezeigt, wenn Sie Visual Studio schließen und erneut öffnen.

    • Fehler beim Hinzufügen von C++-Projektverweisen für statische/dynamische Bibliotheken zu C++-Apps anhand der MSIX-Paketerstellung für Einzelprojekte. Visual Studio zeigt einen Fehler an, dass das Projekt nicht als Verweis hinzugefügt werden kann, weil die Projekttypen nicht kompatibel sind.

    • Fehler beim Verweisen auf ein benutzerdefiniertes Benutzersteuerelement in einem Klassenbibliotheksprojekt. Die Anwendung stürzt ab mit der Fehlermeldung, dass das System den angegebenen Pfad nicht finden kann.

    • C#- oder C++-Vorlage für Visual Studio 2019. Beim Versuch, das Projekt zu erstellen, tritt der Fehler „Das Projekt weiß nicht, wie das Profil Projektname auszuführen ist“ auf. Installieren Sie zum Beheben dieses Problems die Erweiterung zu MSIX-Paketerstellungstools für Einzelprojekte.

    • C#-Vorlage für Visual Studio 2019 und Visual Studio 2022. Wenn in Visual Studio nach Debuggen oder Ohne Debuggen starten Ihre App nicht bereitstellt und ausgeführt wird (und kein Feedback von Visual Studio vorhanden ist), klicken Sie in Visual Studio im Projektmappen-Explorer zum Auswählen auf den Pojektknoten und versuchen Sie es erneut.

    • C#-Vorlage für Visual Studio 2019 und Visual Studio 2022. Es tritt der folgende Fehler auf, wenn Sie versuchen, Ihr Projekt auf Ihrem Entwicklungscomputer auszuführen oder zu debuggen: „Das Projekt muss vor dem Debuggen bereitgestellt werden. Aktivieren Sie „In Configuration Manager bereitstellen“. Aktivieren Sie die Bereitstellung für Ihr Projekt im Configuration Manager, um dieses Problem zu beheben. Ausführliche Anweisungen finden Sie unter Erstellen Ihres ersten WinUI 3-Projekts.

    • C++-Vorlage für Releases von Visual Studio 2022, Version 17.0 bis Vorschau 4. Beim ersten Versuch, das Projekt auszuführen, tritt der folgende Fehler auf: „Es gab Bereitstellungsfehler“. Zum Beheben dieses Problems müssen Sie Ihr Projekt ein zweites Mal ausführen oder bereitstellen. Das Problem wird in Visual Studio 2022, Version 17.0 Vorschau 7 behoben.

  • Keine Unterstützung für Buildkonfigurationen mit „Beliebige CPU“: Beim Hinzufügen des Windows App SDK zu einer vorhandenen .NET-Anwendung oder -Komponente, die Beliebige CPU unterstützt, müssen Sie die gewünschte Architektur angeben: x86, x64 oder arm64.

  • C#-Projekte mit 1.0 Vorschau 3 müssen das folgende .NET SDK verwenden: .NET 6 SDK oder höher (siehe Herunterladen von .NET und .NET 5 erreicht das Ende des Supports am 10. Mai 2022).

  • Eine Alternative zu DispatcherQueue.TryEnqueue (zum Fortsetzen der Ausführung im Warteschlangenthread des Verteilers) besteht darin, die resume_foreground-Hilfsfunktion in der Windows Implementation Library (WIL) zu verwenden:

    1. Fügen Sie dem NuGet-Paket Microsoft.Windows.ImplementationLibrary einen Verweis auf Ihr Projekt hinzu.
    2. Fügen Sie #include <wil/cppwinrt_helpers.h> zu pch.h hinzu.
    3. Fügen Sie #include <winrt/Microsoft.UI.Dispatching.h> zu pch.h hinzu.
    4. Jetzt: co_await wil::resume_foreground(your_dispatcherqueue);.

Wichtiges Problem, das sich auf 1.0 Vorschau 1 und Vorschau 2 auswirkt

Version 1.0 Vorschau 1 und Vorschau 2 des Windows App SDK enthält einen Mechanismus zum Bereinigen aller von einer gepackten App vorgenommenen Änderungen an Umgebungsvariablen, wenn diese App deinstalliert wird. Dieses Feature befindet sich in einem experimentellen Zustand, und das erste Release enthält einen bekannten Bug, der die Umgebungsvariable PATH des Systems beschädigen kann.

Die Vorschau 1 und Vorschau 2 beschädigt jede Umgebungsvariable PATH, die das Erweiterungszeichen % enthält. Dies geschieht bei jedem Deinstallieren einer gepackten App, unabhängig davon, ob diese App das Windows App SDK verwendet.

Siehe auch Problem der Beschädigung der Umgebungsvariable PATH.

Details

Der Eintrag PATH des Systems wird unter dem Pfadwert im folgenden Schlüssel in der Windows-Registrierung gespeichert:

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Wenn Sie den Registrierungs-Editor (regedit.exe) starten, können Sie den obigen Pfad kopieren und in die Breadcrumb-Leiste einfügen (direkt unter der Menüleiste), und zum Lokalisieren der Taste die Eingabetaste drücken.

Der Pfadwert dieses Schlüssels sollte vom Typ REG_EXPAND_SZ sein, wird aber durch den Bug in REG_SZ geändert. Und dadurch wird die Umgebungsvariable PATH des Systems unbrauchbar, wenn sie das Variablenerweiterungszeichen % enthält.

Betroffene Releases

Abmilderung

Führen Sie die folgenden Schritte aus, um Ihren Computer wieder in einen ordnungsgemäßen Zustand zu versetzen:

  1. Überprüfen Sie, ob der PATH in der Registrierung beschädigt ist, und setzen Sie ihn ggf. durch Ausführen des folgenden Skripts zurück.

    Sie können Schritt 1 mit dem folgenden Windows PowerShell-Skript ausführen (PowerShell Core funktioniert nicht). Führen Sie es mit erhöhten Rechten aus.

    # This script must be run from an elevated Windows PowerShell
    # window (right-click Windows PowerShell in the Start menu,
    # and select Run as Administrator).
    
    # If the PATH in the Registry has been set to REG_SZ, then delete
    # it, and recreate it as REG_EXPAND_SZ.
    
    $EnvPath = 'Registry::HKLM\System\CurrentControlSet\Control\Session Manager\Environment'
    $Environment=Get-Item $EnvPath
    $PathKind = $Environment.GetValueKind('Path')
    
    if ($PathKind -ne 'ExpandString') {
      $Path = $Environment.GetValue('Path')
      Remove-ItemProperty $EnvPath -Name Path
      New-ItemProperty $EnvPath -Name Path -PropertyType ExpandString -Value $Path
    }
    
  2. Deinstallieren Sie alle Apps, die das Windows App SDK 1.0 Vorschau 1 oder Vorschau 2 verwenden (siehe folgendes Skript).

  3. Deinstallieren Sie die Windows App SDK 1.0 Vorschau 1/Vorschau 2-Pakete, einschließlich des Pakets, das den Bug enthält (siehe folgendes Skript).

    Sie können die Schritte 2 und 3 mit dem folgenden Windows PowerShell-Skript ausführen (PowerShell Core funktioniert nicht). Führen Sie es mit erhöhten Rechten aus.

    # This script must be run from an elevated Windows PowerShell
    # window (right-click Windows PowerShell in the Start menu,
    # and select Run as Administrator).
    
    # Remove the Windows App SDK 1.0 Preview1/2, and all apps that use it.
    
    $winappsdk = "Microsoft.WindowsAppRuntime.1.0-preview*"
    Get-AppxPackage | Where-Object { $_.Dependencies -like $winappsdk } | Remove-AppxPackage
    Get-AppxPackage $winappsdk | Remove-AppxPackage
    

Behebung in Windows App SDK 1.0 Vorschau 3

Das Feature, durch das die Umgebungsvariable PATH beschädigt wird, wird im kommenden Release von Windows App SDK 1.0 Vorschau 3 entfernt. Es kann zu einem späteren Zeitpunkt nach Beheben aller Bugs und gründlichen Tests wieder eingeführt werden.

Wir empfehlen die Verwendung von Version 1.0 Vorschau 3.

Version 1.0 Vorschau 2 (1.0.0-preview2)

Wichtig

Version 1.0 Vorschau 1 und Vorschau 2 enthalten einen kritischen Bug. Wenn Sie bereits eine dieser Vorschauversionen installiert haben, verweisen wir Sie auf Informationen zum Beheben des Problems. Wir empfehlen stattdessen die Verwendung von Version 1.0 Vorschau 3.

Das ist das neueste Release des Vorschaukanals für Version 1.0. Es unterstützt alle Features des Vorschaukanals.

In den folgenden Abschnitten werden neue und aktualisierte Features, Einschränkungen und bekannte Probleme für diese Version beschrieben.

WinUI 3

Neue Aktualisierungen:

  • Steuerelemente wurden so aktualisiert, dass sie den neuesten Windows-Formatvorlagen von WinUI 2.6 entsprechen.
  • Einzelprojekt-MSIX wird unterstützt.
  • WinUI 3-Paket kann jetzt auf Build 17763 und höher abzielen. Weitere Informationen finden Sie im Issue 921.
  • Die In-App-Symbolleiste wird unterstützt. Die In-App-Symbolleiste und die vorhandene Unterstützung der visuellen Struktur Hot Reload/Live erfordern jedoch das kommende Release von Visual Studio 17.0 Vorschau 5, das später im Oktober verfügbar ist.

Bug behoben: WebView2Runtime-Text ist jetzt lokalisiert.

Weitere Informationen sowie die erste Schritte zur Entwicklung mit WinUI 3 finden Sie unter:

Windowing

In diesem Release werden Aktualisierungen der AppWindow-Klasse eingeführt. In diesem Release kamen keine wichtigen neuen Features hin, aber es gibt Änderungen an Methodennamen und Eigenschaften, und einige Rückgabewerte wurden entfernt. Detaillierte Informationen zu den Aktualisierungen finden Sie in der Dokumentation und in den Beispielen. Wenn Sie mit AppWindow in den Releases der experimentellen Version 1.0 oder 1.0 Vorschau 1 gearbeitet haben, erwarten Sie einige Änderungen an Ihrem Code.

Neue Aktualisierungen:

  • Die Klasse AppWindowConfiguration wurde entfernt. Die Eigenschaften dieser Klasse stehen jetzt in AppWindow selbst oder in den Presenter-Klassen zur Verfügung.
  • Die meisten bool-Rückgabewerte für die WinRT-API-Methoden in diesem Bereich wurden entfernt und sind jetzt void, da diese Methoden immer erfolgreich sind.
  • Die C#-ImportDll-Aufrufe sind für GetWindowIdFromWindow und GetWindowFromWindowId nicht mehr erforderlich. Verwenden Sie stattdessen die .NET-Wrapper-Methoden, die in der Klasse Microsoft.UI.Win32Interop zur Verfügung stehen.

Wichtige Einschränkungen:

  • Das Windows App SDK verfügt derzeit über keine Methoden zum Anfügen von UI-Framework-Inhalten an AppWindow. Sie sind auf die Verwendung der Interop-Zugriffsmethoden beschränkt.
  • Die Anpassung der Fenstertitelleiste funktioniert nur unter Windows 11. Prüfen Sie mit der IsCustomizationSupported-Methode, ob das Feature zur Anpassung der Titelleiste unterstützt wird. Wir planen die Vereinheitlichung dieser Funktionalität mit älteren Versionen.

Weitere Informationen finden Sie unter Verwalten von App-Fenstern.

Eingabe

Neue Aktualisierungen:

  • Verbesserte Unterstützung der Eingabe über Präzisionstouchpads.

Wichtige Einschränkungen:

  • Alle statischen PointerPoint-Factoryfunktionen wurden entfernt: GetCurrentPoint, GetCurrentPointTransformed, GetIntermediatePoints und GetIntermediatePointsTransformed.
  • Das Windows App SDK unterstützt das Abrufen von PointerPoint-Objekten mit Zeiger-IDs nicht. Stattdessen können Sie die PointerPoint-Memberfunktion GetTransformedPoint verwenden, um eine transformierte Version eines vorhandenen PointerPoint-Objekts abzurufen. Für Zwischenpunkte können Sie die PointerEventArgs-Memberfunktionen GetIntermediatePoints und GetTransformedIntermediatePoints verwenden. Weitere Informationen finden Sie in der Dokumentation.

MRT Core

Neue Aktualisierungen:

  • App-Entwickler können jetzt die Indizierung einer Bilddatei oder einer RESW-Datei in der PRI-Datei in .NET-Projekten deaktivieren. Weitere Informationen finden Sie im Issue 980.

Wichtige Einschränkungen:

  • In .NET-Projekten werden Ressourcendateien, die in den Projektordner kopiert wurden, beim Drücken von F5 nicht indiziert, wenn die App bereits erstellt wurde. Erstellen Sie die App als Problemumgehung neu. Weitere Informationen finden Sie im Issue 1503.
  • In .NET-Projekten werden vorhandene Ressourcendateien, die aus einem externen Ordner hinzugefügt wurden, ohne manuelle Einstellung der Build-Aktion nicht indiziert. Legen Sie zum Umgehen dieses Problems die Build-Aktion in Visual Studio fest: Content für Bilddateien und PRIResource für RESW-Dateien. Weitere Informationen finden Sie im Issue 1504.

Bereitstellung für nicht gepackte Apps

Neue Features:

  • Windows App SDK 1.0 Vorschau 2 führt einen .NET-Wrapper für die Bootstrapper-API ein (siehe Verwenden der Windows App SDK-Runtime für gepackte Apps mit externem Speicherort oder nicht gepackte Apps). Die Bootstrapper-API ist eine Reihe nativer C/C++-Funktionen, die ungepackte Apps verwenden müssen, um dynamisch eine Abhängigkeit vom Windows App SDK-Frameworkpaket zur Laufzeit zu einzugehen. Der .NET-Wrapper bietet eine einfachere Möglichkeit zum Aufrufen der Bootstrapper-API aus .NET-Apps, einschließlich Windows Forms- und WPF-Apps. Der .NET-Wrapper für die Bootstrapper-API ist in der Microsoft.WindowsAppRuntime.Bootstrap.Net.dll-Assembly verfügbar, die in Ihrem App-Projekt lokal vorhanden ist. Weitere Informationen zum .NET-Wrapper finden Sie in der .NET-Wrapper-Bibliothek.
  • Gepackte Apps können jetzt zum Installieren der Standard- und Singleton-MSIX-Pakete auf dem Computer die Bereitstellungs-API verwenden. Die Standard- und Singletonpakete sind Teil des mit der App installieren Frameworkpakets, aber aufgrund einer Einschränkung beim Windows-Anwendungsmodell erfordern gepackte Apps diesen zusätzlichen Schritt zum Installieren dieser Pakete. Weitere Informationen zur Funktionsweise der Bereitstellungs-API finden Sie unter Windows App SDK-Bereitstellungsleitfaden für frameworkabhängige gepackte Apps.

Wichtige Einschränkungen:

  • Der .NET-Wrapper für die Bootstrapper-API ist nur für die Verwendung durch nicht gepackte .NET-Anwendungen vorgesehen, um den Zugriff auf das Windows App SDK zu vereinfachen.
  • Nur mit MSIX gepackte Apps, die vollständig vertrauenswürdig sind oder über die eingeschränkte PackageManagement-Funktion verfügen, haben die Berechtigung, die Bereitstellungs-API zum Installieren der Haupt- und Singletonpaketabhängigkeiten zu verwenden. Unterstützung für teilweise vertrauenswürdige gepackte Apps wird in späteren Releases bereitgestellt.
  • Wenn Sie eine x86-App, die die DeploymentManager.Initialize-Methode verwendet, per F5 auf einem x64-System testen, stellen Sie sicher, dass zuerst das x64-Framework installiert wird, indem Sie WindowsAppRuntimeInstall.exe ausführen. Andernfalls tritt ein NOT_FOUND-Fehler auf, da Visual Studio das x64-Framework nicht bereitstellt, was normalerweise durch Store-Bereitstellung oder Querladen erfolgt.

App-Lebenszyklus

Die meisten App-Lebenszyklusfeatures sind bereits auf der UWP-Plattform vorhanden und wurden zur Verwendung durch Desktop-App-Typen in das Windows App SDK integriert, insbesondere durch nicht gepackte Konsolen-Apps, Win32-Apps, Windows Forms-Apps und WPF-Apps. Die Windows App SDK-Implementierung dieser Features kann nicht in UWP-Apps verwendet werden, da es entsprechende Features auf der UWP-Plattform selbst gibt.

Nicht-UWP-Apps können auch als MSIX-Pakete gepackt werden. Diese Apps können zwar einige der App-Lebenszyklusfeatures des Windows App SDK verwenden, müssen jedoch den Manifestansatz verwenden, sofern dieser verfügbar ist. Beispielsweise können sie die RegisterForXXXActivation-APIs des Windows App SDK nicht verwenden und müssen sich stattdessen für die umfassende Aktivierung über das Manifest registrieren.

Alle Einschränkungen für gepackte Apps gelten auch für WinUI 3-Apps, die gepackt sind, und es müssen einige zusätzliche Aspekte bedacht werden, wie unten beschrieben.

Wichtige Überlegungen:

  • Umfassende Aktivierung: GetActivatedEventArgs

  • Registrieren/Aufheben der Registrierung für die umfassende Aktivierung

    • Nicht gepackte Apps: Vollständig verwendbar.
    • Gepackte Apps: Nicht verwendbar. Verwenden Sie stattdessen das MSIX-Manifest der App.
    • Weitere Informationen finden Sie unter Umfassende Aktivierung.
  • Einzel-/Mehrfachinstanziierung

    • Nicht gepackte Apps: Vollständig verwendbar.
    • Gepackte Apps: Vollständig verwendbar.
    • WinUI 3-Apps: Wenn eine App andere Instanzen erkennen und eine Aktivierung umleiten soll, muss sie dies so früh wie möglich und vor der Initialisierung von Fenstern usw. tun. Um dies zu ermöglichen, muss die App DISABLE_XAML_GENERATED_MAIN definieren und eine benutzerdefinierte Main (C#) oder WinMain (C++) schreiben, in der sie die Erkennung und Umleitung durchführen kann.
    • RedirectActivationToAsync ist ein asynchroner Aufruf, und auf einen asynchronen Aufruf sollte nicht gewartet werden, wenn Ihre App in einem STA ausgeführt wird. Bei Windows Forms- und C#-WinUI 3-Apps können Sie Main bei Bedarf als asynchron deklarieren. Bei C++-WinUI 3- und C#-WPF-Apps können Sie Main nicht als asynchron deklarieren. Stattdessen müssen Sie den Umleitungsaufruf an einen anderen Thread verschieben, um sicherzustellen, dass Sie das STA nicht blockieren.
    • Weitere Informationen finden Sie unter App-Instanziierung.
  • Benachrichtigungen zu Energieversorgung/Zustand

    • Nicht gepackte Apps: Vollständig verwendbar.
    • Gepackte Apps: Vollständig verwendbar.
    • Weitere Informationen finden Sie unter Energieverwaltung.

Bekanntes Problem:

Dateitypzuordnungen codieren „%1“ fälschlicherweise als „%251“, wenn die Befehlszeilenvorlage des Verb-Handlers festgelegt wird, wodurch ungepackte Win32-Apps abstürzen. Sie können das Problem teilweise umgehen, indem Sie den Registrierungswert manuell auf „%1“ festlegen. Wenn der Zieldateipfad ein Leerzeichen enthält, tritt weiterhin ein Fehler auf, und für dieses Szenario gibt es keine Problemumgehung.

Weitere Einschränkungen und bekannte Probleme

  • Version 1.0 Vorschau 1 und Vorschau 2 enthalten einen kritischen Bug. Wenn Sie bereits eine dieser Vorschauversionen installiert haben, verweisen wir Sie auf Informationen zum Beheben des Problems. Wir empfehlen stattdessen die Verwendung von Version 1.0 Vorschau 3.

  • In diesem Release werden die Vorlagen Leere App, gepackt (WinUI 3 in Desktop) für C#- und C++-Projekte eingeführt. Diese Vorlagen ermöglichen Ihnen die Aufnahme Ihrer App in ein MSIX-Paket ohne Verwendung eines separaten Paketerstellungprojekts. Diese Vorlagen haben einige bekannte Probleme in diesem Release:

    • C#-Vorlage für Visual Studio 2019. Beim Versuch, das Projekt zu erstellen, tritt der Fehler „Das Projekt weiß nicht, wie das Profil Projektname auszuführen ist“ auf. Installieren Sie zum Beheben dieses Problems die Erweiterung zu MSIX-Paketerstellungstools für Einzelprojekte.

    • C#-Vorlage für Visual Studio 2019 und Visual Studio 2022. Es tritt der folgende Fehler auf, wenn Sie versuchen, Ihr Projekt auf Ihrem Entwicklungscomputer auszuführen oder zu debuggen: „Das Projekt muss vor dem Debuggen bereitgestellt werden. Aktivieren Sie „In Configuration Manager bereitstellen“. Aktivieren Sie die Bereitstellung für Ihr Projekt im Configuration Manager, um dieses Problem zu beheben. Ausführliche Anweisungen finden Sie unter Erstellen Ihres ersten WinUI 3-Projekts.

    • C++-Vorlage für Visual Studio 2019 und Visual Studio 2022. In diesem Release sind diese Projekte auf das Aufrufen der Teilmenge von Win32-APIs beschränkt, die von UWP-Apps aufgerufen werden können. Die Vorlage Leere App, gepackt mit WAP (WinUI 3 in Desktop) ist von diesem Problem nicht betroffen.

    • C++-Vorlage für Releases von Visual Studio 2022, Version 17.0 bis Vorschau 4. Beim ersten Versuch, das Projekt auszuführen, tritt der folgende Fehler auf: „Es gab Bereitstellungsfehler“. Zum Beheben dieses Problems müssen Sie Ihr Projekt ein zweites Mal ausführen oder bereitstellen. Das Problem wird in Visual Studio 2022, Version 17.0 Preview 5, behoben.

  • Die Pushbenachrichtigungs-API (Microsoft.Windows.PushNotifications-Namespace) ist im Release 1.0 Vorschau 2 fälschlicherweise enthalten. Dies handelt sich immer noch um ein experimentelles Feature, für dessen Verwendung Sie stattdessen das experimentelle Release 1.0 installieren müssen. Dieses Feature wird im bevorstehenden Release 1.0 entfernt.

  • Die App-Lebenszyklus-API (Microsoft.Windows.AppLifecycle-Namespace) enthält fälschlicherweise das Attribut „experimentell“ im Release 1.0 Vorschau 2. Das Attribut „experimentell“ wird im nächsten Release aus dieser API entfernt.

  • Keine Unterstützung für Buildkonfigurationen mit „Beliebige CPU“: Beim Hinzufügen des Windows App SDK zu einer vorhandenen .NET-Anwendung oder -Komponente, die Beliebige CPU unterstützt, müssen Sie die gewünschte Architektur angeben: x86, x64 oder arm64.

  • C#-Projekte mit 1.0 Vorschau 2 müssen das folgende .NET SDK verwenden: .NET 6 SDK oder höher (siehe Herunterladen von .NET und .NET 5 erreicht das Ende des Supports am 10. Mai 2022).

  • Eine Alternative zu DispatcherQueue.TryEnqueue (zum Fortsetzen der Ausführung im Warteschlangenthread des Verteilers) besteht darin, die resume_foreground-Hilfsfunktion in der Windows Implementation Library (WIL) zu verwenden:

    1. Fügen Sie dem NuGet-Paket Microsoft.Windows.ImplementationLibrary einen Verweis auf Ihr Projekt hinzu.
    2. Fügen Sie #include <wil/cppwinrt_helpers.h> zu pch.h hinzu.
    3. Fügen Sie #include <winrt/Microsoft.UI.Dispatching.h> zu pch.h hinzu.
    4. Jetzt: co_await wil::resume_foreground(your_dispatcherqueue);.

Version 1.0 Vorschau 1 (1.0.0-preview1)

Wichtig

Version 1.0 Vorschau 1 und Vorschau 2 enthalten einen kritischen Bug. Wenn Sie bereits eine dieser Vorschauversionen installiert haben, verweisen wir Sie auf Informationen zum Beheben des Problems. Wir empfehlen stattdessen die Verwendung von Version 1.0 Vorschau 3.

Das ist das erste Release des Vorschaukanals für Version 1.0. Es unterstützt alle Features des Vorschaukanals.

In den folgenden Abschnitten werden neue und aktualisierte Features, Einschränkungen und bekannte Probleme für diese Version beschrieben.

WinUI 3

Dieses Release von WinUI 3 konzentriert sich auf die Weiterentwicklung von 1.0 mit Programmfehlerbehebungen.

  • Neue Features: Keine neuen Features in Vorschau 1.
  • Behobene Probleme: Eine vollständige Liste der in diesem Release behobenen Probleme finden Sie in unserem GitHub-Repository.

Weitere Informationen sowie die erste Schritte zur Entwicklung mit WinUI 3 finden Sie unter:

Windowing

Dieses Release versetzt die in der experimentellen Version 1 eingeführte Windowing-API in einen Vorschaustatus. Es gibt keine wichtigen neuen Features in diesem Release, da es sich auf Programmfehlerbehebungen, Stabilität und Anpassungen der API-Signatur konzentriert. Die beachtenswerten Änderungen und Ergänzungen sind unten aufgeführt.

Neue Features:

  • DisplayAreaWatcher wurde zu den Windowing-APIs hinzugefügt. Sie ermöglicht es Entwickler*innen Änderungen in der Anzeigetopologie zu beobachten und DisplayAreas zu enumerieren, die derzeit im System definiert sind.
  • AppWindow unterstützt jetzt das Festlegen des Fenstersymbols über die SetIcon-Methode, und AppWindowTitleBar unterstützt jetzt die Auswahlmöglichkeit, das Fenstersymbol zusammen mit dem Systemmenü über die Eigenschaft IconShowOptions ein- oder auszublenden.

Wichtige Einschränkungen:

  • Dieses Release von AppWindows ist derzeit nur für Win32-Apps verfügbar (sowohl gepackt als auch ungepackt).
  • Das Windows App SDK verfügt derzeit über keine Methoden zum Anfügen von UI-Framework-Inhalten an AppWindow. Sie sind auf die Verwendung der Interop-Zugriffsmethoden beschränkt.
  • Die Anpassung der Fenstertitelleiste funktioniert nur unter Windows 11. Prüfen Sie mit der IsCustomizationSupported-Methode, ob das Feature zur Anpassung der Titelleiste unterstützt wird. Wir planen die Vereinheitlichung dieser Funktionalität mit älteren Versionen.

Weitere Informationen finden Sie unter Verwalten von App-Fenstern.

Eingabe

Dieses Release verfügt über einige neue Features für die Eingabe-API. Die beachtenswerten Änderungen und Ergänzungen sind unten aufgeführt.

Neue Features und Updates:

  • PointerPredictor bietet den für die Eingabelatenz empfindlichen Anwendungen wie Freihandanwendungen die Möglichkeit, Eingabepunktpositionen für bis zu 15 ms in der Zukunft vorherzusagen, um eine bessere Latenz und reibungslose Animation zu erzielen.
  • Mit PenDeviceInterop können Sie mit der FromPointerPoint-Methode einen Verweis auf Windows.Devices.Input.PenDevice abrufen.
  • InputCursor ermöglicht eine explizite Unterscheidung zwischen voreingestellten Systemcursortypen und benutzerdefinierten Cursortypen, indem der in CoreCursor vorhandene Typ „Custom“ entfernt und das Objekt CoreCursor in separate Objekte aufgeteilt wird.
  • Aktualisierungen für InputCursor-APIs.
  • GestureRecognizer wurde aus dem experimentellen Status zu Microsoft.UI.Input verlagert.
  • PointerPoint wurde aus dem experimentellen Status zu Microsoft.UI.Input verlagert.
  • Maus-, Touch- und Stifteingaben werden für WinUI 3-Drag & Drop vollständig unterstützt.

Wichtige Einschränkungen:

  • Dieses Release von Eingabe-APIs hat bekannte Probleme mit Windows Version 1809.
  • MRT Core wird von den Untertypen von InputCursor noch nicht unterstützt.
  • Die direkte Verwendung der Plattform-SDK-API Windows.UI.Core.CoreDragOperation funktioniert mit WinUI 3-Anwendungen nicht.
  • Die PointerPoint-Eigenschaften RawPosition und ContactRectRaw wurden entfernt, da sie auf nicht vorhergesagte Werte verwiesen, die den normalen Werten im Betriebssystem entsprachen. Verwenden Sie stattdessen Position und ContactRect. Die Zeigervorhersage wird jetzt mit dem API-Objekt Microsoft.UI.Input.PointerPredictor verarbeitet.

MRT Core

Ab Version 1.0 Vorschau 1 wurden MRT-Core-APIs vom Namespace Microsoft.ApplicationModel.Resources zum Namespace Microsoft.Windows.ApplicationModel.Resources verlagert.

Weitere Einschränkungen und bekannte Probleme

  • Version 1.0 Vorschau 1 und Vorschau 2 enthalten einen kritischen Bug. Wenn Sie bereits eine dieser Vorschauversionen installiert haben, verweisen wir Sie auf Informationen zum Beheben des Problems. Wir empfehlen stattdessen die Verwendung von Version 1.0 Vorschau 3.

  • Bei Projekten, die mit der C++-Projektvorlage Leere App, gepackt mit WAP (WinUI 3 in Desktop) erstellt wurden, trotz standardmäßig der folgende Buildfehler auf: fatal error C1083: Cannot open include file: 'winrt/microsoft.ui.dispatching.co_await.h': No such file or directory. Entfernen Sie zum Beheben dieses Problems die folgende Codezeile aus der Datei pch.h. Dieses Problem wird im nächsten Release behoben.

    #include <winrt/microsoft.ui.dispatching.co_await.h>
    
  • Eine Alternative zu DispatcherQueue.TryEnqueue (zum Fortsetzen der Ausführung im Warteschlangenthread des Verteilers) besteht darin, die resume_foreground-Hilfsfunktion in der Windows Implementation Library (WIL) zu verwenden:

    1. Fügen Sie dem NuGet-Paket Microsoft.Windows.ImplementationLibrary einen Verweis auf Ihr Projekt hinzu.
    2. Fügen Sie #include <wil/cppwinrt_helpers.h> zu pch.h hinzu.
    3. Fügen Sie #include <winrt/Microsoft.UI.Dispatching.h> zu pch.h hinzu.
    4. Jetzt: co_await wil::resume_foreground(your_dispatcherqueue);.
  • Keine Unterstützung für eine CPU-Buildkonfiguration: Das Windows App SDK ist in systemeigenem Code geschrieben und unterstützt somit keine CPU-Buildkonfigurationen . Die WinUI 3-Vorlagen in Visual Studio lassen nur architekturspezifische Builds zu. Beim Hinzufügen des Windows App SDK zu einer vorhandenen .NET-Anwendung oder -Komponente, die Beliebige CPU unterstützt, müssen Sie die gewünschte Architektur angeben: x86, x64 oder arm64.

  • .NET-Apps müssen auf Build 18362 oder höher ausgerichtet sein: Ihr TFM muss auf net6.0-windows10.0.18362 oder höher festgelegt sein, und die <TargetPlatformVersion> Ihres Paketprojekts muss auf 18362 oder höher festgelegt sein. Weitere Informationen finden Sie in diesem bekannten Issue auf GitHub.

  • C#-Projekte mit 1.0 Vorschau 1 müssen das folgende .NET SDK verwenden: .NET 6 SDK oder höher (siehe Herunterladen von .NET und .NET 5 erreicht das Ende des Supports am 10. Mai 2022).

  • Unter Windows 10, Version 1809 nicht unterstützte ungepackte Apps: Dies sollte im nächsten Release behoben werden.