Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Elke release van de Windows SDK voegt nieuwe functionaliteit toe waarvan u mogelijk gebruik wilt maken. Niet al uw klanten werken hun apparaten echter tegelijkertijd bij naar de nieuwste versie van Windows. U wilt dat uw app werkt op het breedst mogelijke aantal apparaten, terwijl u ook kunt profiteren van nieuwe functies wanneer deze beschikbaar zijn.
Prerequisites
- Windows App SDK 1.0 of hoger
- Visual Studio 2022 of hoger met de workload voor het ontwikkelen van Windows toepassingen
Overview
Volg deze drie stappen om het breedste scala aan Windows apparaten te ondersteunen:
- Configureer uw Visual Studio project om de meest recente API's te targeten. Dit is van invloed op waartoe de compiler tijdens de build toegang heeft.
- Voer runtimecontroles uit om ervoor te zorgen dat u alleen API's aanroept die aanwezig zijn op het apparaat waarop uw app wordt uitgevoerd.
- Test uw app op de minimale versie en de doelversie van Windows.
Uw Visual Studio-project configureren
De eerste stap bij het ondersteunen van meerdere Windows versies is het opgeven van de doel- en minimaal ondersteunde os-/SDK-versies in uw Visual Studio project.
- Doel: de SDK-versie waarop Visual Studio uw app-code compileert. Alle API's en resources in deze SDK-versie zijn tijdens het compileren beschikbaar in uw app-code.
- Minimaal : de SDK-versie die de vroegste versie van het besturingssysteem ondersteunt waarop uw app kan worden uitgevoerd.
Tijdens runtime wordt uw app uitgevoerd op basis van de versie van het besturingssysteem waarop deze is geïmplementeerd. Uw app genereert uitzonderingen als u API's gebruikt die niet beschikbaar zijn in die versie. Gebruik runtimecontroles om de juiste API's aan te roepen, zoals verderop in dit artikel wordt beschreven.
Tip
Visual Studio waarschuwt u niet voor API-compatibiliteit. Het is uw verantwoordelijkheid om te testen en te controleren of uw app correct werkt op alle versies van het besturingssysteem tussen en inclusief het minimum en het doel.
Wanneer u een nieuw project maakt in Visual Studio, stelt u de doel- en minimumversies in die uw app ondersteunt. De doelversie is standaard de hoogste geïnstalleerde SDK-versie en de minimumversie is de laagste geïnstalleerde SDK.
Als u de minimum- en doelversie voor een bestaande project wilt wijzigen, gaat u naar Project>>>
API-controles uitvoeren
De sleutel tot versie van adaptieve apps is de combinatie van API-contracten en de ApiInformation-klasse . Met deze klasse kunt u detecteren of een opgegeven API-contract, -type of -lid aanwezig is, zodat u veilig API-aanroepen kunt uitvoeren op verschillende apparaten en besturingssysteemversies.
API-contracten
De set API's binnen een apparaatfamilie wordt onderverdeeld in onderverdelingen, ook wel API-contracten genoemd. Gebruik de ApiInformation.IsApiContractPresent methode om te testen op de aanwezigheid van een API-contract. Dit is handig als u wilt testen op veel API's die allemaal bestaan in dezelfde versie van een API-contract.
bool isScannerContractPresent =
Windows.Foundation.Metadata.ApiInformation.IsApiContractPresent(
"Windows.Devices.Scanners.ScannerDeviceContract", 1);
Een API-contract vertegenwoordigt een functie: een set gerelateerde API's die samen een bepaalde mogelijkheid bieden. Een platform dat api's in een API-contract implementeert, moet elke API in dat contract implementeren. Valideer het contract één keer en roep daarna veilig een van de API's ervan aan.
Het grootste en meest gebruikte contract is Windows.Foundation.UniversalApiContract, dat het merendeel van de Windows Runtime API's bevat. Zie SDK's voor apparaatfamilieuitbreidingen en API-contracten voor een lijst met beschikbare contracten.
Adaptieve versiecode en voorwaardelijke XAML
Gebruik de ApiInformation klasse in een voorwaarde in uw code om te testen op de aanwezigheid van een API voordat u deze aanroept. Met methoden zoals IsTypePresent, IsEventPresent, IsMethodPresent en IsPropertyPresent kunt u testen op het granulariteitsniveau dat u nodig hebt.
Zie Adaptieve versiecode voor meer informatie en voorbeelden.
Als de minimumversie van uw app build 17763 (versie 1809) of hoger is, kunt u VOORWAARDELIJKE XAML gebruiken om eigenschappen in te stellen en objecten in markeringen te instantiëren zonder dat er code achter zit. Voorwaardelijk XAML biedt een manier om rechtstreeks in markeringen te gebruiken ApiInformation.IsApiContractPresent .
Zie Voorwaardelijke XAML voor meer informatie en voorbeelden.
Test uw versie-adaptieve app
Wanneer u adaptieve versiecode of VOORWAARDELIJKE XAML gebruikt, test u uw app op een apparaat met de minimumversie en op een apparaat waarop de doelversie van Windows wordt uitgevoerd.
U kunt niet alle voorwaardelijke codepaden op één apparaat testen. Implementeer en test uw app op een extern apparaat (of virtuele machine) waarop de minimaal ondersteunde versie van het besturingssysteem wordt uitgevoerd om ervoor te zorgen dat alle codepaden correct werken.
Verwante onderwerpen
Windows developer