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

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

Die neueste verfügbare Version der 1.1.x-Reihe des stabilen Kanals des Windows App SDK ist Version 1.1.5. 1.1.x unterstützt alle Features des stabilen Kanals (siehe Abschnitt Verfügbare Features im Releasekanal in Windows App SDK-Releasekanäle).

Version 1.1.5

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

Fehlerbehebungen (1.1.5)

  • Ein Problem wurde behoben, bei dem der Acrylhintergrund nicht funktioniert, wenn Mica aktiviert ist. Weitere Informationen finden Sie im Issue #7200 auf GitHub.
  • Ein Problem wurde behoben, das dazu führte, dass Apps, die das WindowsAppRuntime-Installationsprogramm benötigen (z. B. nicht gepackte Apps), auf Windows 10-ARM64-Computern nicht ausgeführt wurden. Weitere Informationen finden Sie im Issue #2564 auf GitHub.

Version 1.1.4

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

Fehlerbehebungen (1.1.4)

  • Die Regression von 1.0.x wurde behoben, die dazu führte, dass ListView, TreeView und andere List-Steuerelemente beim Scrollen mit vielen Elementen abstürzten. Weitere Informationen finden Sie im Issue #7230 auf GitHub.
  • Es wurde ein Problem mit DispatcherQueue behoben, das dazu führte, dass in die Warteschlange eingereihte Rückrufe nicht mehr aufgerufen wurden.
  • Ein Problem wurde behoben, das beim mehrfachen Aufrufen von DeploymentManager.Initialize in derselben App-Sitzung einen App-Absturz verursachte.
  • Ein Problem wurde behoben, das dazu führte, dass C#-Apps in Arm64 Visual Studio nicht kompiliert wurden. Weitere Informationen finden Sie im Issue #7140 auf GitHub.
  • Es wurde ein zeitweiliger Absturz im XAML-Imagingcode aufgrund falscher Fehlerbehandlung behoben.
  • Es wurde ein Speicherverlustproblem beim Anfügen eines Ereignishandlers in ItemsRepeater mit einem übergeordneten UserControl behoben. Weitere Informationen finden Sie im Issue #6123 auf GitHub.
  • Ein Problem wurde behoben, das einen Buildfehler in Visual Studio 17.3 verursachte, wenn ein App-Projekt so konfiguriert war, dass beim Querladen (d. h. .appinstaller) automatische Updates des Pakets aktiviert wurden. Weitere Informationen finden Sie im Issue #2773.
  • Ein Problem wurde behoben, durch das über den Store verteilte gepackte Apps, die Initialize aufrufen (z. B. für Push erforderlich), diesen Aufruf unnötigerweise durchführten, weil „DeploymentManager::GetStatus“ den Wert Package Install Needed zurückgab, wenn bereits Haupt- und Singletonpakete installiert waren. Dies führte zu einer Leistungsminderung beim App-Start.
  • Ein Problem wurde behoben, das eine Ausnahme bei Einzelinstanzen-Apps verursachte, wenn das Bereinigungsereignis ignoriert werden sollte, wenn es nicht geöffnet werden konnte. Weitere Informationen finden Sie in diesem Pull Request auf GitHub.

Version 1.1.3

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

Fehlerbehebungen (1.1.3)

  • Es wurden miteinander in Beziehung stehende Probleme behoben, bei denen XAML abstürzte, wenn die erste Seite Ihrer App ein ProgressBar-, ProgressRing-, PipsPager-, PersonPicture- oder Expander-Steuerelement enthielt. Weitere Informationen finden Sie im Issue #7164 auf GitHub.
  • Ein Problem wurde behoben, das dazu führte, dass das x64-Installationsprogramm die Windows App SDK-Runtime nicht installierte. Weitere Informationen finden Sie im Issue #2713 auf GitHub.
  • Ein Problem wurde behoben, das dazu führte, dass WindowsAppRuntime nicht installiert werden konnte, wenn eine höhere Version der Runtime installiert war. Weitere Informationen finden Sie in der Diskussion #2708 auf GitHub.

Version 1.1.2

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

Fehlerbehebungen (1.1.2)

  • Ein Problem wurde behoben, bei dem XAML abstürzte, wenn ein Fenster geschlossen wurde, während ein Dialogfeld geöffnet war. Weitere Informationen finden Sie im Issue #1032 auf GitHub.
  • Das Tag <auto-generated> wurde in C#-Dateien hinzugefügt, um StyleCop-Warnungen zu verhindern. Weitere Informationen finden Sie im Issue #4526 auf GitHub.
  • Ein Problem wurde behoben, das beim Aufruf von MddBootstrapInitialize zu einem Zugriffsverletzungsfehler und einem Absturz führte, wenn das entsprechende Frameworkpaket nicht installiert war. Weitere Informationen finden Sie im Issue #2592 auf GitHub.
  • Ein Problem wurde behoben, bei dem die C#-WinUI 3-Elementvorlagen in Visual Studio fehlten. Weitere Informationen finden Sie im Issue #7148 auf GitHub.
  • Ein Problem wurde behoben, bei dem beim Ausführen des WindowsAppRuntime-Installationsprogramms als Systembenutzer ein Fehler auftrat. Weitere Informationen finden Sie im Issue #2546 auf GitHub.

Version 1.1.1

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

Fehlerbehebungen (1.1.1)

  • Ein Problem wurde behoben, das dazu führte, dass Apps während eines Drag-and-Drop-Vorgangs manchmal abstürzten. Weitere Informationen finden Sie im Issue #7002 auf GitHub.
  • Ein Problem wurde behoben, das dazu führte, dass die Titelleiste nicht mehr angezeigt wurde, wenn AppWindowPresenterKind von FullScreen zu Default wechselte.
  • Ein Problem wurde behoben, bei dem Bootstrapper-APIs wie ApiInformation.IsPropertyPresent und ApiInformation.IsMethodPresent nicht behandelte Ausnahmen in Apps verursachten, die nicht gepackt waren. Weitere Informationen finden Sie im Issue #2382 auf GitHub.
  • Ein Problem wurde behoben, das zum Einfrieren einer App beim Maximieren der Anwendung mit Stifteingabe führte.

Neue und aktualisierte Features und bekannte Probleme bei 1.1

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

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.

App-Lebenszyklus & -Neustart

Apps können jetzt einen expliziten Neustart mit bestimmten Argumenten & einem bestimmten Zustand initiieren, aufbauend auf der vorhandenen RegisterApplicationRestart-API zum Registrieren beim Betriebssystem, um in Szenarien mit Updates, Abstürzen & Reboots neu starten zu können.

Neue Features:

  • Jede gepackte oder nicht gepackte Desktop-App kann sich mithilfe der AppInstance.Restart()-API per Befehl selbst beenden und neu starten und auf eine zufallsbasierte Befehlszeilenzeichenfolge für die neu gestartete Instanz zugreifen.
    • Dies ist eine überarbeitete und synchrone Version der UWP-RequestRestartAsync()-API, die einen Neustart mit Argumenten ermöglicht und einen AppRestartFailureReason zurückgibt, wenn der Neustart nicht erfolgreich ist.
    • Informationen zur Verwendung & weitere Referenzen finden Sie in der Dokumentation zu Neustart API auf GitHub.

WinUI 3

WinUI 3 ist das native UX-Framework (User Experience) für Windows App SDK. Dieses Release enthält neue Features aus WinAppSDK 1.0 sowie mehrere Stabilitätsverbesserungen aus den Vorschauversionen 1.0 & 1.1.

Neue Features:

Korrigierte Fehler:

  • Es wurde ein Problem bei der Verwendung von Mica behoben, bei dem die App abstürzte, wenn ein Fenster gleichmäßig auf zwei Bildschirme aufgeteilt war. Weitere Informationen finden Sie im Issue #7079 auf GitHub.
  • 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 & 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.
  • Ein Problem wurde behoben, bei dem Benutzer*innen ein Element nicht löschen konnten, wenn Drag-and-Drop aktiviert ist. Weitere Informationen finden Sie im Issue #7008 auf GitHub.

Bekannte Einschränkungen:

  • Bei Verwendung einer benutzerdefinierten Titelleiste ändern die Steuerelemente für Untertitel die Farbe nicht, wenn das Design geändert wird.
  • XAML stürzt ab, wenn Benutzer*innen ein Fenster schließen, während ein Dialogfeld geöffnet ist.

Bereitstellung

Neue Features:

Bekannte Einschränkungen:

  • Damit der Windows App Runtime-Installer (WindowsAppRuntimeInstall.exe) ausgeführt werden kann, muss Querladen aktiviert sein. Weitere Informationen finden Sie im Issue #2469 auf GitHub.
  • Beim Erstellen eines MSIX-Pakets über die Visual Studio-Projektmenüs kann Visual Studio in einigen Szenarien abstürzen. Dieses Problem wird in Visual Studio, Version 17.3 Preview 2 behoben. Für Version 17.2 wird ein Wartungsupdate bereitgestellt. Wenn dieses Problem auftritt, können Sie es umgehen, indem Sie ein MSIX-Paket über die Befehlszeile generieren, zu einem nicht gepackten Projekt wechseln oder zum Windows App SDK 1.0 zurückkehren.
  • Eigenständige Anwendungen, die mit MSIX gepackt sind, werden in 1809 nicht unterstützt, was zum Absturz der App beim Start führt.

Elevation

Apps können jetzt mit erhöhten Rechten ausgeführt werden.

Bekannte Einschränkungen:

Umgebungsvariablen-Manager

Der Umgebungsvariablen-Manager ist eine neue API, die in Windows App SDK 1.1 eingeführt wurde. Mit dem Umgebungsvariablen-Manager können Entwickler*innen über eine einzige API-Oberfläche auf Umgebungsvariablen auf Prozess-, Benutzer- und Computerebene zugreifen und diese ändern.

Wenn der Umgebungsvariablen-Manager in einer gepackten Anwendung verwendet wird, werden alle Umgebungsvariablenvorgänge aufgezeichnet. Wenn das Paket entfernt wird, werden alle Umgebungsvariablenvorgänge rückgängig gemacht.

Neue Features:

  • Sie können Umgebungsvariablen auf Prozess-, Benutzer- und Computerebene abrufen und festlegen.
  • Automatische Umgebungsvariablen werden rückgängig gemacht, wenn ein Paket entfernt wird, das den Umgebungsvariablen-Manager verwendet.
  • Enthält bestimmte APIs für PATH und PATHEXT.

Bekannte Einschränkungen:

  • Ist nur unter Windows 11 verfügbar.

MRT Core

MRT Core ist eine optimierte Version des modernen Ressourcenverwaltungssystems von Windows, das als Teil des Windows App SDK verteilt wird.

Behobene Probleme:

  • In .NET SDK 6.0.300 wurde ein Problem behoben, das dazu führte, dass Ressourcen nicht standardmäßig indiziert wurden, wenn eine Ressourcendatei über die VS-Benutzeroberfläche hinzugefügt wurde. Wenn Sie eine ältere .NET SDK-Version verwenden, nutzen Sie weiterhin die Problemumgehung, die in den Versionshinweisen von 1.0 dokumentiert ist. Weitere Informationen finden Sie im Issue #1786 auf GitHub.
  • In Visual Studio 2022 17.2 wurde ein Problem behoben, das dazu führte, dass der Ressourcen-URI in nicht gepackten C++-WinUI 3-Apps nicht ordnungsgemäß erstellt wurde. Wenn Sie eine ältere Visual Studio-Version verwenden, aktualisieren Sie Visual Studio auf Version 17.2, um diese Korrektur zu erhalten.

Bekannte 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 auf GitHub.

Weitere Informationen finden Sie unter Verwalten von Ressourcen mit MRT Core.

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.
    • Entwickler*innen können App-Benachrichtigungen – auch als Popupbenachrichtigungen bezeichnet – lokal oder über ihren eigenen Clouddienst senden. Siehe Übersicht über App-Benachrichtigungen.
  • Unterstützung für Pushbenachrichtigungen für gepackte und nicht gepackte Apps.

Bekannte Einschränkungen:

  • Das Senden von Benachrichtigungen von einer App mit erhöhten Rechten wird nicht unterstützt. PushNotificationManager::IsSupported() führt keine Überprüfung auf den Modus mit erhöhten Rechten durch.

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 bestimmte Dimensionen für die Clientbereichsgröße ihres Fensters in Win32-Koordinaten bestimmen, ohne die Größe des Nicht-Clientbereichs berechnen zu müssen, um eine bestimmte Clientbereichsgröße zu erhalten.
  • Zur Unterstützung der Verarbeitung der Z-Reihenfolge von Fenstern basierend auf der Funktionalität des SetWindowPos-Parameters „hWndInsertAfter“ sind zusätzliche WinRT-APIs verfügbar.
  • Apps, die benutzerdefinierte Titelleisten mit AppWindowTitleBar.ExtendsContentIntoTitleBar zeichnen, können eine PreferredTitleBarHeight-Option festlegen. Sie haben jetzt die Auswahl 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.

Behobene Probleme:

  • Wenn der Vollbild-Presenter zum ersten Mal aufgerufen wird, passt das Fenster jetzt ordnungsgemäß auf den gesamten Bildschirm. Weitere Informationen finden Sie im Issue #1853 auf GitHub.
  • Für mit AppWindow::GetFromWindowId erstellte Fenster ist OverlappedPresenter der Standard-Presenter, es gibt aber keine Einschränkungen in Bezug auf Änderungen an Fensterstilen, die von anderen APIs stammen. Für mit AppWindow::Create erstellte Fenster gelten von Anfang an die standardmäßigen Presenter-Richtlinien. Weitere Informationen finden Sie im Issue #2049 auf GitHub.
  • Die Verwendung der OverlappedPresenter.SetBorderAndTitlebar-API zum Ausblenden von Schaltflächen und Rahmen für Untertitel führte bei Maximierung des Fensters zu einem oberen Rand von 1 Pixel. Dieses Problem wurde gelöst. Weitere Informationen finden Sie im Issue #1693 auf GitHub.

Bekannte Einschränkungen:

  • Wenn Sie die AppWindowTitlebar-API zum Anpassen der Farben der Standardtitelleiste verwenden, sind Symbol und Text im Vergleich zur Standardtitelleiste falsch ausgerichtet. Weitere Informationen finden Sie im GitHub-Issue #2459.

  • Beim Lösen des GitHub-Issues #2049 (siehe oben) entstand der folgende Fehler: Wenn Sie einen AppWindowPresenter auf ein AppWindow anwenden, das Sie aus GetFromWindowId abgerufen haben, dann durch Aufrufen von USER32-APIs einen durch diesen Presenter nachverfolgten Fensterstil ändern und dann versuchen, durch erneutes Anwenden des Standard-Presenters zum vorherigen Zustand des Fensters zurückzukehren, ist das Ergebnis ein Fenster ohne Titelleiste. Wenn Sie in Ihrer App einen Presenter verwenden und Fensterstile mithilfe von USER32-Aufrufen zu einem Zeitpunkt ändern, zu dem ein nicht standardmäßiger Presenter gültig ist, müssen Sie möglicherweise eine Problemumgehung hinzufügen, um das korrekte Fensterverhalten sicherzustellen, bis dieser Fehler behoben ist. Sie können den folgenden Codeschnipsel als Vorlage für diese Problemumgehung verwenden:

    AppWindow m_appWindow;
    OverlappedPresenter m_defaultPresenter;
    
    private void EnterFullScreen_Click(object sender, RoutedEventArgs e)
    {
        // Capture the default presenter.
        m_defaultPresenter = m_appWindow.Presenter as OverlappedPresenter;
    
        // Opt in the default overlapped presenter so it can control various aspects of the AppWindow.
        m_defaultPresenter.IsAlwaysOnTop = m_defaultPresenter.IsAlwaysOnTop;
        m_defaultPresenter.IsResizable = m_defaultPresenter.IsResizable;
        m_defaultPresenter.IsMinimizable = m_defaultPresenter.IsMinimizable;
        m_defaultPresenter.IsMaximizable = m_defaultPresenter.IsMaximizable;
        m_defaultPresenter.SetBorderAndTitleBar(m_defaultPresenter.HasBorder, m_defaultPresenter.HasTitleBar);
    
        m_appWindow.SetPresenter(AppWindowPresenterKind.FullScreen);
    }
    
    private void ExitFullScreen_Click(object sender, RoutedEventArgs e)
    {
        m_appWindow.SetPresenter(AppWindowPresenterKind.Default);
    }
    

C#/WinRT

C#-Komponenten für die Windows-Runtime werden jetzt unterstützt, einschließlich benutzerdefinierter WinUI-Steuerelemente. Dadurch können in C# geschriebene Runtimekomponenten an jede WinRT-kompatible Sprache (z. B. C++/WinRT) verteilt werden. Informationen für den Einstieg finden Sie unter Exemplarische Vorgehensweise: Erstellen einer C#-Komponente mit WinUI 3-Steuerelementen und Verwenden dieser aus einer C++/WinRT-App, die das Windows App SDK nutzt sowie im Beispiel auf GitHub.

Weitere Einschränkungen und bekannte Probleme

  • Apps, die auf ein Paket verweisen, das WebView2 erfordert (z. B. Microsoft.Identity.Client), können nicht kompiliert werden. Dies wird durch miteinander in Konflikt stehende Binärdateien zur Buildzeit verursacht. Weitere Informationen finden Sie im Issue #2492 auf GitHub.
  • Bei Verwendung von dotnet build mit einem WinAppSDK C#-Klassenbibliothek-Projekt kann der Build-Fehler „Microsoft.Build.Packaging.Pri.Tasks.ExpandPriContent task could not be loaded“ auftreten. Um dieses Problem zu beheben, legen Sie <EnableMsixTooling>true</EnableMsixTooling> in Ihrer Projektdatei fest.
  • Die WinAppSDK-Standardvorlagen enthalten diesen Hinweis: MaxVersionTested="10.0.19041.0". Es sollte sich aber um "10.0.22000.0" handeln. Aktualisieren Sie MaxVersionTested in Ihrer Projektdatei auf 10.0.22000.0, um die vollständige Unterstützung für einige Features zu erhalten, insbesondere UnlockedDEHs.