Freigeben über


Versionshinweise zum stabilen Kanal für das Windows App SDK 1.2

Der stabile Kanal stellt Releases des Windows App SDK bereit, die für die Verwendung durch Apps in Produktionsumgebungen unterstützt werden. Apps, die die stabile Version des Windows App SDK verwenden, können auch im Microsoft Store veröffentlicht werden.

Wichtige Links:

Release des neuesten stabilen Kanals:

Downloads für das Windows App SDK

Hinweis

Die Windows App SDK Visual Studio Extensions (VSIX) werden nicht mehr als separater Download angeboten. Sie sind auf dem Visual Studio Marketplace innerhalb von Visual Studio erhältlich.

Version 1.2.5 (1.2.230313,1)

Dies ist ein Wartungsrelease des Windows App SDK, das wichtige Fehlerbehebungen für das Release 1.2 enthält.

  • Ein Problem wurde behoben, das dazu führte, dass Apps während des Herunterfahrens von Composition abstürzten.
  • Ein Problem wurde behoben, das dazu führte, dass Apps Animationen auch dann fortsetzten, wenn der Bildschirm ausgeschaltet war.
  • Ein Problem wurde behoben, das zu Fehlern bei Maus- und Toucheingaben in WebView2 führte, wenn Maus- und Tastatureingaben gleichzeitig erfolgten. Weitere Informationen finden Sie im GitHub-Problem #3266.

Version 1.2.4 (1.2.230217,4)

Dies ist ein Wartungsrelease des Windows App SDK, das wichtige Fehlerbehebungen für das Release 1.2 enthält.

  • Ein Problem wurde behoben, das dazu führte, dass eigenständige Apps keine UAC-Einstellungen festlegen konnten. Weitere Informationen finden Sie im GitHub-Problem #3376.
  • Ein Problem wurde behoben, das dazu führte, dass Pushbenachrichtigungen bei PushNotificationChannel::ExpirationTime eine ungenaue Ablaufzeit zurückgaben. Weitere Informationen finden Sie im GitHub-Problem #3300.
  • Ein Problem wurde behoben, das dazu führte, dass negative Zahlen als „ungültig“ betrachtet wurden, wenn ein double-Wert als Parameter an eine x:Bind-Funktion übergeben wurde.
  • Mehrere Fehlerbehebungen wurden zum Aktualisieren von WinUI VSIX vorgenommen. Hierzu gehören die Vereinfachung der Projektvorlage dipAwareness in app.manifest, das Entfernen der UWP-Vorlagen, das Aktualisieren lokalisierter Ressourcendateien, das Hinzufügen der Telefon-ID zum Aufheben der Blockierung der Storeübermittlung und das Entfernen von Copyrighthinweis und Lizenz. Weitere Informationen finden Sie in den GitHub-Issues #5659, #3205, #3323, #3322 und #3143.

Version 1.2.3 (1.2.230118,102)

Dies ist ein Wartungsrelease des Windows App SDK, das wichtige Fehlerbehebungen für das Release 1.2 enthält.

  • Ein Problem wurde behoben, das dazu führte, dass WinUI 3-Apps abstürzten, wenn mehrere Fenster geschlossen wurden.
  • Ein Problem wurde behoben, das zu einem Absturz beim Schließen der App führte, wenn zwei oder mehr Verweise auf die ThreadPoolTimer-Schnittstelle aufgerufen wurden. Weitere Informationen finden Sie in den GitHub-Issues #7260 und #7239.
  • Ein Problem wurde behoben, das dazu führte, dass alle MSIX-Einzelprojekt-Apps als vollständig vertrauenswürdig ausgeführt wurden. Weitere Informationen finden Sie im GitHub-Problem #7766.

Version 1.2.2 (1.2.221209,1)

Dies ist ein Wartungsrelease des Windows App SDK, das wichtige Fehlerbehebungen für das Release 1.2 enthält.

  • Ein Problem wurde behoben, das dazu führte, dass Store- und Querladepakete (z. B. aus Installationsprogramm, NuGet und Bootstrapper) nicht installiert wurden, wenn das jeweils andere bereits installiert war. Weitere Informationen finden Sie im GitHub-Problem #3168.
  • Ein Problem wurde behoben, das zu fehlenden Elastizitätseffekten und Animationskurven beim Scrollen mit einem Touchpad führte. Weitere Informationen finden Sie im GitHub-Problem #7874.
  • Es wurde ein Problem in ListView behoben, das zu Arbeitsspeicherverlusten führte.
  • Ein Problem wurde behoben, das dazu führte, dass die Button-Vorlage die Foreground-Eigenschaft nach dem Zeigen mit der Maus nicht beachtete. Weitere Informationen finden Sie im GitHub-Problem #7208.
  • Ein Problem wurde behoben, das zu einer unnötigen Ausnahme führte, wenn in einem MediaElement kein MediaPlaybackItem vorhanden war.
  • Ein Problem wurde behoben, das dazu führte, dass im MediaPlayerElement bei Inhaltsübergängen ein weißer Rahmen angezeigt wurde.
  • Es wurden weitere Probleme behoben, die dazu führten, dass App.UnhandledException Ausnahmen von anderen Threads nicht abfing. Weitere Informationen finden Sie in den GitHub-Issues #1259 und #5221.

Version 1.2.1 (1.2.221116,1)

Dies ist ein Wartungsrelease des Windows App SDK, das eine wichtige Fehlerbehebung für das Release 1.2 enthält.

Ein Problem wurde behoben, das beim Starten in C++-WinUI 3-Apps einen Absturz verursachte, wenn ein WebView2- oder TextBox-Steuerelement hinzugefügt wurde. Weitere Informationen finden Sie in den GitHub-Issues #7911 & #3117.

neue und aktualisierte Features und bekannte Probleme bei Version 1.2

In den folgenden Abschnitten werden neue und aktualisierte Features und bekannte Probleme bei Version 1.2 beschrieben.

Hinweis

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. Nach der Veröffentlichung unterstützt WinAppSDK 1.2 auch .NET 7.

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 integrierter 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 von Windows Insider Preview (WIP) ausgeführt, die größer oder gleich 25217 ist und die Widgets-Board-Version 521.20060.1205.0 oder höher enthält.

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

DisplayInformation

Windows-Desktop-Apps können jetzt High Dynamic Range (HDR) und Auto Color Management (ACM) ü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.

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.

Behobene Probleme:

Bekannte Einschränkungen:

  • Beim Erstellen eines neuen WinUI 3-Projekts mit Visual Studio 2022 17.4.0 wird auf eine Vorschauversion des WinAppSDK verwiesen. Verwenden Sie den NuGet-Paket-Manager, um den Verweis auf dieses Release zu aktualisieren.
  • Beim Festlegen von MediaPlayerElement.Source auf einen relativen URI (ms-appx/ms-resource) tritt in nicht gepackten Apps ein Fehler auf. Die empfohlene Problemumgehung besteht darin, den relativen ms-appx:///-URI in einen vollständig aufgelösten file:///-URI zu konvertieren.

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

.NET-Entwickler können jetzt gekürzte WinAppSDK-Apps 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.

Unterstützung für Visual Studio Arm64

Bereits bei Project Reunion (jetzt WinAppSDK) 0.5 konnten mit WinAppSDK entwickelte Apps auf Arm64 ausgeführt werden. Ab Visual Studio 17.3 Preview 2 können Sie native Anwendungen mit WinAppSDK auf Arm64-Geräten entwickeln.

Informationen zu den ersten Schritten bei der Entwicklung auf einem Arm64-Gerät finden Sie unter Windows auf Arm und Arm64 Visual Studio.

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.

Breaking Change:

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.ExtendsContentIntoTitleBar 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 (Windowing):

Grundlegende 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

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.

  • Komponententests können mit einem REGDB_E_CLASSNOTREG-Fehler im Testausgabebereich in Visual Studio fehlschlagen. Als Problemumgehung können Sie Ihrer Projektdatei <WindowsAppContainer>true</WindowsAppContainer> hinzufügen.
  • .NET PublishSingleFile wird 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.
  • Microsoft.WindowsAppRuntime.Release.Net.dll ist immer die Arm64-Binärdatei und funktioniert nicht für x86- und x64-Apps. Wenn die Bootstrap-API explizit aufgerufen wird, verwenden Sie nicht die Microsoft.WindowsAppRuntime.Release.Net.dll-Assembly. Als Problemumgehung können Sie Versionskonstanten in diese Quelldatei einschließen, die mit dem NuGet-Paket verteilt wird: „..\include\WindowsAppSDK-VersionInfo.cs“. Alternativ dazu können Sie den automatischen Initialisierer verwenden.