Grundlegendes zu WebView2-SDK-Versionen

Das NuGet-Paket für das WebView2 SDK enthält sowohl ein Release- als auch ein Vorabversionspaket. Verwenden Sie entweder ein Vorabversions-SDK mit einem Vorschaukanal von Microsoft Edge oder ein Release-SDK mit der WebView2-Runtime.

Vorabversion SDK-Pakete können während der Entwicklung verwendet werden, wenn Sie die neuesten WebView2-APIs, einschließlich der experimentellen APIs, testen möchten, bevor der Runtime Unterstützung für diese APIs hinzugefügt wird. Der Canary-Kanal wird empfohlen, da er über die Implementierungen der neuesten APIs verfügt. Wenn Sie experimentelle WebView2-APIs testen und verwenden möchten, verwenden Sie die folgende Kombination:

  • Eine Vorabversion des WebView2 SDK.
  • Ein Vorschaukanal mit Microsoft Edge auf Ihrem Entwicklungsclient.

Release SDK-Pakete enthalten nur stabile APIs, keine experimentellen APIs. Wenn Sie an einer Produktionsversion Ihrer WebView2-App arbeiten, verwenden Sie die folgende Kombination:

  • Eine Releaseversion des WebView2 SDK.
  • Die WebView2-Runtime auf Ihrem Entwicklungsclient.

Weitere Informationen zu den Sdk-Paketen vor der Veröffentlichung und zur Veröffentlichung finden Sie unten.

Verwenden Sie eine Vorabversion des SDK zusammen mit einem Vorschaukanal von Microsoft Edge

Wenn Sie eine Evergreen WebView2-App entwickeln, testen Sie die App regelmäßig mit dem neuesten Microsoft Edge Vorschaukanal, zusätzlich zum Testen mit der WebView2-Runtime. Da sich die Webplattform ständig weiterentwickelt, sind regelmäßige Tests die beste Möglichkeit, um sicherzustellen, dass Ihre App weiterhin wie gewünscht funktioniert.

Wenn Sie ein WebView2 SDK-Vorabversionspaket verwenden, verwenden Sie einen Microsoft Edge Vorschaukanal auf Ihrem Entwicklungsclient. Vorschaukanäle werden auch als Insider-Kanäle bezeichnet. Der Canary-Vorschaukanal wird anstelle von Beta oder Dev empfohlen, da Canary die neueste ist und Über Implementierungen der neuesten experimentellen APIs verfügt.

Das SDK-Vorabversionspaket ist eine Obermenge des SDK-Releasepakets mit Methodensignaturen für weitere experimentelle APIs. Vorschaukanäle stellen die Implementierungen der experimentellen WebView2-APIs bereit. Die experimentellen APIs können basierend auf Ihrem Feedback geändert werden. Vermeiden Sie die Verwendung des SDK-Vorabversionspakets zum Erstellen von Produktions-Apps.

Wenn Sie Informationen dazu benötigen, wie Sie Ihre App vorübergehend auf einen Vorschaukanal verweisen, anstatt die Standardeinstellung für die WebView2-Runtime zu verwenden, navigieren Sie zu einem Vorschaukanal, um anstehende APIs und Features zu testen.

Verwenden einer Releaseversion des SDK zusammen mit der Runtime

Wenn Sie ein WebView2 SDK-Releasepaket verwenden, verwenden Sie die WebView2 Evergreen Runtime auf Ihrem Entwicklungsclient anstelle eines Microsoft Edge Vorschaukanals. Standardmäßig ist eine WebView2-App auf die Runtime ausgerichtet und nicht auf Microsoft Edge. Standardmäßig unterstützt der Microsoft Edge Stable-Kanal WebView2 nicht.

Das SDK-Releasepaket enthält alle stabilen Win32 C/C++- und .NET-APIs und enthält keine Methodensignaturen für experimentelle APIs. Alle APIs, die sich in einem SDK-Releasepaket befinden, werden vollständig unterstützt, und zwar in einer gleichen oder höheren Buildnummer der WebView2-Runtime.

Das SDK-Releasepaket enthält die folgenden Komponenten:

For more information about automatic updating of the Evergreen Runtime, navigate to Distribute a WebView2 app and the WebView2 Runtime.

Versionsrhythmus

Neue Versionen des WebView2 SDK werden im gleichen allgemeinen Rhythmus wie der Browser Microsoft Edge (Chromium) ausgeliefert, der ungefähr alle sechs Wochen erfolgt ist. Dieser Rhythmus soll ab Microsoft Edge Version 94 alle vier Wochen geändert werden.

Mindestversion und Buildnummer zum Instanziieren von WebView2

Damit der Client eine WebView2-Instanz erstellen und den Satz von APIs in der WebView2 General Availability-Version (SDK Build 616) verwenden kann, muss der Client über WebView2 Runtime Version 86.0.616.0 oder höher verfügen. Runtime 86.0.616.0 ist eine spezielle Version, da es sich um die Allgemeine Verfügbarkeit handelt.

Auf einem Entwicklungscomputer muss der Client über die Microsoft Edge Vorschaukanalversion 86.0.616.0 oder höher oder die WebView2-Runtime-Version 86.0.616.0 oder höher verfügen.

Weiterleitungskompatibilität von APIs

Das WebView2-Release-SDK ist seit Version 1 (d. h. SDK-Version 1.0.622.22)vorwärtskompatibel. __ Sie können Ihre WebView2-App aktualisieren, um die neuesten APIs aus der neuesten Version des SDK zu verwenden. Ihre App funktioniert weiterhin auf Clients, da Clients automatisch über die neueste WebView2 Evergreen Runtime verfügen.

Die WebView2-APIs in einem SDK-Releasepaket sind stabil und vorwärtskompatibel. Eine WebView2-API funktioniert bei Verwendung einer WebView2-Runtime, die über eine gleiche oder eine höhere Buildnummer als SDK-Buildnummer verfügt, in der die API eingeführt wurde. Die Buildnummer ist der dritte Teil der vierteiligen Versionsnummer für das Webview2 SDK und der vierteiligen Versionsnummer für Microsoft Edge und die WebView2-Runtime.

  • Wenn Sie ein WebView2 SDK verwenden, dessen Buildnummer gleich oder kleiner als die WebView2-Runtime ist, funktioniert jede API, auf die Sie in diesem SDK zugreifen können, mit dieser Version der Runtime.
  • Wenn Sie ein WebView2-SDK verwenden, dessen Buildnummer größer als die WebView2-Runtime ist, sind die Implementierungen der neueren APIs in der Runtime nicht verfügbar.

Wenn beispielsweise eine API in SDK 1.0 eingeführt wird. 900.0, diese API würde mit Runtime 94.0 funktionieren. 900+.0, aber nicht mit Runtime 90.0. 700,0.

Sie müssen die WebView2 SDK-Version, die Sie für die Entwicklung verwenden, und die WebView2-Runtime-Version koordinieren, die auf Clientcomputern installiert ist. Der Client sollte über eine Version der Runtime verfügen, die alle neuesten APIs in der SDK-Version unterstützt, die Sie zum Entwickeln der App verwenden. Für die vollständige Unterstützung der neuesten APIs in einer Version des SDK muss die Runtime auf dem Client über eine Buildnummer verfügen, die größer oder gleich der SDK-Buildnummer ist.

Experimentelle APIs

Die experimentellen APIs in einem WebView2 SDK-Vorabversionspaket sind nicht unbedingt vorwärtskompatibel und können in zukünftigen Laufzeitupdates entfernt werden. Wenn zunächst eine Vorabversion des WebView2 SDK verfügbar gemacht wird, funktioniert dieses SDK nur mit Microsoft Edge Canary. Kurz danach funktioniert das Vorabversions-SDK auch mit den Beta- und Dev-Kanälen. Verwenden Sie ein Vorabversions-SDK, um neue APIs frühzeitig auszuprobieren und Feedback zu geben, bevor die neuen APIs zu stabilen, vorwärtskompatiblen APIs werden.

Verwenden Sie für die vollständige Unterstützung experimenteller APIs einen Microsoft Edge Vorschaukanal, nicht die WebView2 Evergreen Runtime. Es ist nicht garantiert, dass experimentelle APIs, die sich in einem Vorabversions-SDK befinden, vorwärtskompatibel sind. Die APIs in einer SDK-Version sind vorwärtskompatibel. Weitere Informationen finden Sie oben unter "Weiterleitungskompatibilität von APIs".

Das WebView2-Team möchte Feedback zu experimentellen WebView2-APIs erhalten, die in zukünftigen Versionen möglicherweise zu Stable höhergestuft werden. Die experimentellen APIs sind in der WebView2 SDK-Referenzdokumentation als "experimentell" gekennzeichnet. Navigieren Sie zum WebView-Feedback-Repository,um die experimentellen APIs auszuwerten und Ihr Feedback zu teilen.

Vermeiden Sie die Verwendung experimenteller APIs in Produktions-Apps. In nachfolgenden Versionen des SDK können experimentelle APIs geändert, entfernt oder hinzugefügt werden. Nach der Veröffentlichung einer API als stabil und öffentlich wird die experimentelle Version dieser API für zwei Versionen in einem veralteten Zustand unterstützt.

Abgleich der Laufzeitversion mit der SDK-Version

Beim Evergreen-Verteilungsansatz wird die WebView2-Runtime des Clients automatisch auf die neueste verfügbare Version aktualisiert. Ein Benutzer oder IT-Administrator kann jedoch die automatische Aktualisierung der WebView2-Runtime verhindern. Die resultierende veraltete Laufzeit auf dem Client kann Kompatibilitätsprobleme mit Ihrer aktualisierten WebView2-App verursachen, die neue APIs aus einem kürzlich verwendeten SDK verwendet.

Falls das Aktualisieren der WebView2-Runtime auf dem Client verhindert wird, stellen Sie sicher, dass Sie die mindeste Buildnummer der WebView2-Runtime kennen, die für Ihre App erforderlich ist. Die mindestens erforderliche Laufzeitversion zur Unterstützung der allgemeinen Verfügbarkeit des SDK (Build 616) ist älter als für die neueste Runtime. Die neueste Runtime unterstützt alle APIs, die sich im neuesten SDK-Releasebuild befinden.

Um die Kompatibilität zwischen bestimmten Buildnummern des SDK und dem Runtime- oder Microsoft Edge Vorschaukanal zu überprüfen, navigieren Sie zu Versionshinweisen für WebView2 SDK.

Featureerkennung zum Testen, ob die installierte Runtime kürzlich hinzugefügte APIs unterstützt

Wenn Ihre App die Evergreen Runtime anstelle von Fixed Version verwendet, sollten Sie aufrufe relativ neuer WebView2-APIs mit oder umschließen. QueryInterface try-catch Es gibt Edgefälle, in denen die Evergreen Runtime eines Clients nicht der neueste Build ist und daher hinter die SDK-Buildnummer fällt, da der Administrator die Aktualisierung der WebView2-Runtime möglicherweise deaktiviert hat oder der Client offline ist.

Wenn Sie eine WebView2-App mit einer neueren Version des WebView2-SDKs entwickeln, sollten Sie bei Verwendung einer kürzlich hinzugefügten API testen oder "erkennen", ob diese API in der installierten WebView2-Runtime des Clients vorhanden ist. Wie Ihre App programmgesteuert auf API-Unterstützung testet, hängt von der Codierungsplattform ab.

  • Win32 C/C++. Wenn Sie den DLL-Export anfordern CreateCoreWebView2Environment und auf einem beliebigen Objekt ausgeführt QueryInterface CoreWebView2 werden, testen Sie auf einen Rückgabewert von E_NOINTERFACE . Dieser Rückgabewert deutet wahrscheinlich darauf hin, dass die WebView2-Runtime des Clients eine ältere Version ist, die diese Schnittstelle nicht unterstützt. Ein Beispiel für die Überprüfung auf das Vorhandensein bestimmter WebView2-APIs in der Runtime finden Sie try_query in "AppWindow.cpp". Diese Datei umschließt WebView2-API-Aufrufe in der CHECK_FAILURE Makrofunktion, die in definiert CheckFailure.h ist.

  • .NET und WinUI. Verwenden try/catch und überprüfen Sie eine No such interface supported Ausnahme, wenn Sie Methoden, Eigenschaften und Ereignisse verwenden, die neueren Versionen des WebView2 SDK hinzugefügt wurden. Diese Ausnahme weist wahrscheinlich darauf hin, dass die WebView2-Runtime des Clients eine ältere Version ist, die diese API nicht unterstützt.

Wenn ihr Code feststellt, dass eine API in der installierten WebView2-Runtime des Clients nicht verfügbar ist, sollten Sie ein ordnungsgemäßes Fallback für das zugeordnete Feature bereitstellen oder den Benutzer darüber informieren, dass er die WebView2-Runtime aktualisieren muss, um das Feature zu verwenden.

Diese Technik wird als bewährte Methode für die WebView2-Entwicklung aufgeführt, unter Test, ob APIs von der installierten WebView2 Runtime unterstützt werden.