Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Varje version av Windows SDK lägger till nya funktioner som du kanske vill dra nytta av. Men inte alla dina kunder uppdaterar sina enheter till den senaste versionen av Windows på samma gång. Du vill att din app ska fungera på bredast möjliga utbud av enheter samtidigt som du drar nytta av nya funktioner när den är tillgänglig.
Följ dessa tre steg för att stödja det bredaste utbudet av Windows enheter:
- Konfigurera ditt Visual Studio projekt för att rikta in dig på de senaste API:erna. Detta påverkar vad kompilatorn har åtkomst till vid byggtiden.
- Utför körningskontroller för att se till att du bara anropar API:er som finns på den enhet som appen körs på.
- Testa appen på den lägsta versionen och målversionen av Windows.
Konfigurera ditt Visual Studio projekt
Det första steget för att stödja flera Windows versioner är att ange operativsystem/SDK-versioner som stöds av mål och minimum i ditt Visual Studio projekt.
- Target – den SDK-version som Visual Studio kompilerar din appkod mot. Alla API:er och resurser i den här SDK-versionen är tillgängliga i din appkod vid kompileringstillfället.
- Minimum – den SDK-version som stöder den tidigaste operativsystemversionen som appen kan köras på.
Under körningen körs appen mot den operativsystemversion som den distribueras till. Appen genererar undantag om du använder API:er som inte är tillgängliga i den versionen. Använd körningskontroller för att anropa rätt API:er enligt beskrivningen senare i den här artikeln.
Tip
Visual Studio varnar dig inte om API-kompatibilitet. Det är ditt ansvar att testa och verifiera att din app fungerar korrekt på alla os-versioner mellan och inklusive Minimum och Target.
När du skapar ett nytt projekt i Visual Studio anger du vilka mål- och minimiversioner som appen stöder. Som standard är målversionen den högsta installerade SDK-versionen och lägsta version är den lägsta installerade SDK:en.
Om du vill ändra lägsta version och målversionen för ett befintligt projekt går du till Project>Egenskaper>Program>Målversion.
Utföra API-kontroller
Nyckeln till versionsanpassade appar är kombinationen av API-kontrakt och klassen ApiInformation . Med den här klassen kan du identifiera om ett angivet API-kontrakt, typ eller medlem finns så att du på ett säkert sätt kan göra API-anrop på flera olika enheter och os-versioner.
API-kontrakt
Uppsättningen API:er i en enhetsfamilj är uppdelad i underavdelningar som kallas API-kontrakt. Använd metoden ApiInformation.IsApiContractPresent för att testa förekomsten av ett API-kontrakt. Detta är användbart när du vill testa för många API:er som alla finns i samma version av ett API-kontrakt.
bool isScannerContractPresent =
Windows.Foundation.Metadata.ApiInformation.IsApiContractPresent(
"Windows.Devices.Scanners.ScannerDeviceContract", 1);
Ett API-kontrakt representerar en funktion – en uppsättning relaterade API:er som tillsammans levererar en viss funktion. En plattform som implementerar alla API:er i ett API-kontrakt måste implementera varje API i kontraktet. Testa för kontraktet en gång och anropa sedan på ett säkert sätt någon av dess API:er.
Det största och vanligaste kontraktet är Windows.Foundation.UniversalApiContract, som innehåller majoriteten av de Windows Runtime API:erna. En lista över tillgängliga kontrakt finns i SDK:er för enhetsfamiljetillägg och API-kontrakt.
Versionsanpassad kod och villkorsstyrd XAML
ApiInformation Använd klassen i ett villkor i koden för att testa förekomsten av ett API innan du anropar den. Med metoder som IsTypePresent, IsEventPresent, IsMethodPresentoch IsPropertyPresent kan du testa med den kornighet du behöver.
Mer information och exempel finns i Versionsanpassad kod.
Om appens lägsta version är version 17763 (version 1809) eller senare kan du använda villkorsstyrd XAML för att ange egenskaper och instansiera objekt i markering utan kod bakom. Villkorsstyrd XAML är ett sätt att använda ApiInformation.IsApiContractPresent direkt i markering.
Mer information och exempel finns i Villkorsstyrd XAML.
Testa din versionsanpassade app
När du använder versionsanpassad kod eller villkorsstyrd XAML testar du appen på en enhet som kör den lägsta versionen och på en enhet som kör målversionen av Windows.
Du kan inte testa alla sökvägar för villkorsstyrd kod på en enda enhet. Distribuera och testa din app på en fjärrenhet (eller virtuell dator) som kör den lägsta operativsystemversion som stöds för att säkerställa att alla kodsökvägar fungerar korrekt.
Relaterat innehåll
Windows developer