Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Cada versão do SDK do Windows adiciona uma nova funcionalidade que talvez você queira aproveitar. No entanto, nem todos os seus clientes atualizam seus dispositivos para a versão mais recente do Windows ao mesmo tempo. Você deseja que seu aplicativo funcione na gama mais ampla possível de dispositivos, aproveitando também os novos recursos quando disponível.
Pré-requisitos
- SDK do Aplicativo Windows 1.0 ou posterior
- Visual Studio 2022 ou posterior com a carga de trabalho de desenvolvimento de aplicativos Windows
Visão geral
Siga estas três etapas para dar suporte à gama mais ampla de dispositivos Windows:
- Configure seu projeto de Visual Studio para direcionar as APIs mais recentes. Isso afeta o que o compilador tem acesso no momento da compilação.
- Execute verificações de runtime para garantir que você chame apenas AS APIs presentes no dispositivo em que seu aplicativo é executado.
- Teste seu aplicativo na versão mínima e na versão de destino do Windows.
Configurar seu projeto de Visual Studio
A primeira etapa para dar suporte a várias versões do Windows é especificar as versões com suporte de SO/SDK Target e Minimum no seu projeto do Visual Studio.
- Alvo — a versão do SDK com a qual o Visual Studio compila o código do seu aplicativo. Todas as APIs e recursos nesta versão do SDK estão disponíveis no código do aplicativo no momento da compilação.
- Mínimo : a versão do SDK que dá suporte à versão mais antiga do sistema operacional em que seu aplicativo pode ser executado.
Durante o runtime, seu aplicativo é executado na versão do sistema operacional na qual ele é implantado. Seu aplicativo gerará exceções se você usar APIs que não estão disponíveis nessa versão. Use verificações de runtime para chamar as APIs corretas, conforme descrito posteriormente neste artigo.
Dica
Visual Studio não avisa sobre a compatibilidade da API. É sua responsabilidade testar e verificar se o seu aplicativo funciona corretamente em todas as versões do sistema operacional entre Minimum e Target, inclusive.
Ao criar um novo projeto em Visual Studio, defina as versões Destino e Mínimo que seu aplicativo dá suporte. Por padrão, a Versão de Destino é a versão mais alta do SDK instalada e a Versão Mínima é o SDK instalado mais baixo.
Para alterar a versão mínima e de destino de um project existente, acesse Project>Properties>Application>Targeting.
Executar verificações de API
A chave para aplicativos adaptáveis de versão é a combinação de contratos de API e a classe ApiInformation . Essa classe permite detectar se um contrato, tipo ou membro de API especificado está presente para que você possa fazer chamadas à API com segurança em uma variedade de dispositivos e versões do sistema operacional.
Contratos de API
O conjunto de APIs dentro de uma família de dispositivos é dividido em subdivisões conhecidas como contratos de API. Use o ApiInformation.IsApiContractPresent método para testar a presença de um contrato de API. Isso é útil quando você deseja testar para muitas APIs que existem na mesma versão de um contrato de API.
bool isScannerContractPresent =
Windows.Foundation.Metadata.ApiInformation.IsApiContractPresent(
"Windows.Devices.Scanners.ScannerDeviceContract", 1);
Um contrato de API representa um recurso – um conjunto de APIs relacionadas que, juntas, fornecem uma funcionalidade específica. Uma plataforma que implementa qualquer API em um contrato de API deve implementar todas as API nesse contrato. Teste o contrato uma vez e, em seguida, chame com segurança qualquer uma de suas APIs.
O maior e mais comumente usado contrato é Windows.Foundation.UniversalApiContract, que contém a maioria das APIs de Windows Runtime. Para obter uma lista de contratos disponíveis, consulte SDKs de extensão da família de dispositivos e contratos de API.
Código adaptável de versão e XAML condicional
Use a ApiInformation classe em uma condição em seu código para testar a presença de uma API antes de chamá-la. Métodos como IsTypePresent, IsEventPresent, IsMethodPresente IsPropertyPresent permitem que você teste na granularidade necessária.
Para obter mais informações e exemplos, consulte o código adaptável de versão.
Se a Versão Mínima do seu aplicativo for a compilação 17763 (versão 1809) ou posterior, você pode usar XAML condicional para definir propriedades e instanciar objetos na marcação sem código subjacente. O XAML condicional fornece uma maneira de usar ApiInformation.IsApiContractPresent diretamente na marcação.
Para obter mais informações e exemplos, consulte XAML condicional.
Teste seu aplicativo adaptável a versões
Ao usar código adaptável de versão ou XAML condicional, teste seu aplicativo em um dispositivo que executa a Versão Mínima e em um dispositivo executando a Versão de Destino do Windows.
Não é possível testar todos os caminhos de código condicional em um único dispositivo. Implante e teste seu aplicativo em um dispositivo remoto (ou máquina virtual) executando a versão mínima do sistema operacional com suporte para garantir que todos os caminhos de código funcionem corretamente.
Conteúdo relacionado
Windows developer