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:
- Wenn Sie für eine vorhandene App ein Upgrade von einer älteren Version des Windows App SDK auf eine neuere Version ausführen möchten, finden Sie weitere Informationen unter Aktualisieren vorhandener Projekte auf die neueste Version von Windows App SDK.
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:
- Material mit Acrylic-Hintergrund mit DesktopAcrylicController wird jetzt in Windows 10-Apps unterstützt. Weitere Informationen finden Sie im GitHub-Issue #7112.
- Es wurden verschiedene Probleme behoben, die zu einem Fehler beim Routing von App.UnhandledException geführt haben. Weitere Informationen finden Sie im GitHub-Issue #5221. In Bezug auf die verbleibenden Probleme sind unter den folgenden GitHub-Issues Problemumgehungen dokumentiert und werden in einem zukünftigen Release von 1.2 behoben:
- 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.
- Ein Problem wurde behoben, das dazu führte, dass eine falsche Hintergrundfarbe beim Mica-Fallback angezeigt wurde, wenn die App inaktiv war. Weitere Informationen finden Sie im GitHub-Issue #7801.
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):
- In AppNotificationScenario wird
Urgent
nur für den Windows-Build 19041 und höher unterstützt. Sie können AppNotificationBuilder.IsUrgentScenarioSupported verwenden, um zur Laufzeit zu überprüfen, ob das Feature verfügbar ist. - In AppNotificationButton werden
hint-toolTip
undhint-buttonStyle
werden nur für den Build 19041 und höher unterstützt. Sie können IsButtonStyleSupported und IsToolTipSupported verwenden, um zur Laufzeit zu überprüfen, ob das Feature verfügbar ist. - Wenn MediaPlayerElement im XAML-Markup für eine nicht gepackte App verwendet wird, kann die Source-Eigenschaft nicht mit einem ms-appx- oder ms-resource-URI festgelegt werden. Alternativ dazu können Sie die Quelle mithilfe eines Datei-URI oder im Code festlegen.
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.
- 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
- 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.
Zugehörige Themen
- Neueste Versionshinweise zum Vorschaukanal für das Windows App SDK
- Neueste Versionshinweise zum experimentelle Kanal für das Windows App SDK
- Installieren von Tools für das Windows App SDK
- Erstellen Ihres ersten WinUI 3-Projekts (Windows App SDK)
- Verwenden des Windows-App SDK in einem vorhandenen Projekt
- Übersicht über die Bereitstellung
Windows developer