Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Jede Version des Windows SDK fügt neue Funktionen hinzu, die Sie möglicherweise nutzen möchten. Allerdings aktualisieren nicht alle Ihre Kunden ihre Geräte auf die neueste Version von Windows gleichzeitig. Sie möchten, dass Ihre App auf möglichst vielen Geräten funktioniert und gleichzeitig neue Features nutzen kann, wenn sie verfügbar sind.
Voraussetzungen
- Windows App SDK 1.0 oder höher
- Visual Studio 2022 oder höher mit Windows Anwendungsentwicklungsworkload
Übersicht
Führen Sie die folgenden drei Schritte aus, um die breiteste Palette von Windows-Geräten zu unterstützen:
- Konfigurieren Sie Ihr Visual Studio Projekt so, dass es auf die neuesten APIs ausgerichtet ist. Dies wirkt sich darauf aus, worauf der Compiler zum Buildzeitpunkt Zugriff hat.
- Führen Sie Laufzeitüberprüfungen durch, um sicherzustellen, dass Sie nur APIs aufrufen, die auf dem Gerät vorhanden sind, auf dem Ihre App ausgeführt wird.
- Testen Sie Ihre App auf der Mindestversion und der Zielversion von Windows.
Konfigurieren Ihres Visual Studio Projekts
Der erste Schritt bei der Unterstützung mehrerer Windows Versionen besteht darin, die ziel- und mindestens unterstützten Betriebssystem-/SDK-Versionen in Ihrem Visual Studio Projekt anzugeben.
- Ziel — die SDK-Version, gegen die Visual Studio Ihren App-Code kompiliert. Alle APIs und Ressourcen in dieser SDK-Version sind zur Kompilierungszeit im App-Code verfügbar.
- Minimum – die SDK-Version, die die früheste Betriebssystemversion unterstützt, auf der Ihre App ausgeführt werden kann.
Während der Laufzeit wird Ihre App für die Betriebssystemversion ausgeführt, für die sie bereitgestellt wird. Ihre App löst Ausnahmen aus, wenn Sie APIs verwenden, die in dieser Version nicht verfügbar sind. Verwenden Sie Laufzeitüberprüfungen, um die richtigen APIs aufzurufen, wie weiter unten in diesem Artikel beschrieben.
Tip
Visual Studio warnt Sie nicht über die API-Kompatibilität. Es liegt in Ihrer Verantwortung, zu testen und zu überprüfen, ob Ihre App auf allen Betriebssystemversionen zwischen und einschließlich des Minimums und des Ziels ordnungsgemäß funktioniert.
Wenn Sie ein neues Projekt in Visual Studio erstellen, legen Sie die von Der App unterstützten Ziel- und Mindestversionen fest. Standardmäßig ist die Zielversion die höchste installierte SDK-Version, und die Mindestversion ist das niedrigste installierte SDK.
Um die Mindest- und Zielversion für ein vorhandenes Projekt zu ändern, gehen Sie zu Project>Properties>Anwendung>Ausrichtung.
Durchführen von API-Prüfungen
Der Schlüssel für versionsadaptive Apps ist die Kombination aus API-Verträgen und der ApiInformation-Klasse . Mit dieser Klasse können Sie erkennen, ob ein angegebener API-Vertrag, -Typ oder -Mitglied vorhanden ist, damit Sie API-Aufrufe auf einer Vielzahl von Geräten und Betriebssystemversionen sicher durchführen können.
API-Verträge
Der Satz von APIs innerhalb einer Gerätefamilie wird in Unterteilungen unterteilt, die als API-Verträge bezeichnet werden. Verwenden Sie die ApiInformation.IsApiContractPresent Methode, um das Vorhandensein eines API-Vertrags zu testen. Dies ist nützlich, wenn Sie für viele APIs testen möchten, die alle in derselben Version eines API-Vertrags vorhanden sind.
bool isScannerContractPresent =
Windows.Foundation.Metadata.ApiInformation.IsApiContractPresent(
"Windows.Devices.Scanners.ScannerDeviceContract", 1);
Ein API-Vertrag stellt ein Feature dar – eine Reihe verwandter APIs, die zusammen eine bestimmte Funktion bereitstellen. Eine Plattform, die eine API in einem API-Vertrag implementiert, muss jede API in diesem Vertrag implementieren. Testen Sie den Vertrag einmal, und rufen Sie dann sicher eine seiner APIs auf.
Der größte und am häufigsten verwendete Vertrag ist Windows.Foundation.UniversalApiContract, der den Großteil der Windows-Runtime-APIs enthält. Eine Liste der verfügbaren Verträge finden Sie unter Gerätefamilienerweiterungs-SDKs und API-Verträge.
Versionsadaptiver Code und bedingter XAML-Code
Verwenden Sie die ApiInformation Klasse in einer Bedingung in Ihrem Code, um zu testen, ob eine API vorhanden ist, bevor Sie sie aufrufen. Methoden wie IsTypePresent, IsEventPresent, IsMethodPresent und IsPropertyPresent ermöglichen es Ihnen, in der Granularität zu testen, die Sie benötigen.
Weitere Informationen und Beispiele finden Sie unter versionsadaptivem Code.
Wenn für Ihre App Build 17763 (Version 1809) oder höher als Mindestversion festgelegt ist, können Sie bedingtes XAML verwenden, um im Markup ohne Codebehind Eigenschaften festzulegen und Objekte zu instanziieren. Bedingter XAML-Code bietet eine Möglichkeit, direkt im Markup zu verwenden ApiInformation.IsApiContractPresent .
Weitere Informationen und Beispiele finden Sie unter Bedingtem XAML.
Testen Sie Ihre versionsadaptive App.
Wenn Sie versionsadaptiven Code oder bedingten XAML verwenden, testen Sie Ihre App auf einem Gerät, auf dem die Mindestversion ausgeführt wird, und auf einem Gerät, auf dem die Zielversion von Windows ausgeführt wird.
Sie können nicht alle bedingten Codepfade auf einem einzelnen Gerät testen. Stellen Sie Ihre App auf einem Remotegerät (oder einem virtuellen Computer) bereit, das die mindestens unterstützte Betriebssystemversion ausführt, und testen Sie sie, um sicherzustellen, dass alle Codepfade ordnungsgemäß funktionieren.
Verwandte Inhalte
Windows developer