Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Cada versão do SDK Windows adiciona novas funcionalidades que poderá querer aproveitar. No entanto, nem todos os seus clientes atualizam os seus dispositivos para a versão mais recente do Windows ao mesmo tempo. Quer que a sua aplicação funcione na maior variedade possível de dispositivos, aproveitando também as novas funcionalidades quando disponíveis.
Siga estes três passos para suportar a maior variedade de dispositivos Windows:
- Configure o seu projeto Visual Studio para direcionar as APIs mais recentes. Isto afeta o que o compilador tem acesso no momento da compilação.
- Realize verificações de execução para garantir que só chama as APIs que estejam presentes no dispositivo onde a sua aplicação corre.
- Teste a sua aplicação na versão mínima e na versão de destino do Windows.
Configure o seu projeto Visual Studio
O primeiro passo para suportar múltiplas versões do Windows é especificar as versões do SO/SDK suportadas como Target e Minimum no seu projeto Visual Studio.
- Target — a versão do SDK contra a qual o Visual Studio compila o código da tua aplicação. Todas as APIs e recursos desta versão do SDK estão disponíveis no código da sua aplicação no momento da compilação.
- Mínimo — a versão do SDK que suporta a versão mais antiga do sistema operativo em que a sua aplicação pode correr.
Durante a execução, a sua aplicação corre contra a versão do sistema operativo onde foi implementada. A sua aplicação lança exceções se usar APIs que não estão disponíveis nessa versão. Utilize verificações de tempo de execução para chamar as APIs corretas, conforme descrito mais adiante neste artigo.
Tip
O Visual Studio não avisa sobre a compatibilidade da API. É da sua responsabilidade testar e verificar se a sua aplicação funciona corretamente em todas as versões do sistema operativo entre e incluindo o Mínimo e o Alvo.
Quando criar um novo projeto no Visual Studio, defina as versões Target e Minimum que a sua aplicação suporta. Por defeito, a Versão Alvo é a versão do SDK mais instalada, e a Versão Mínima é a SDK instalada mais baixa.
Para alterar a versão mínima e de destino de um projeto existente, vá a Projeto>Propriedades>Aplicação>Direcionamento.
Realizar verificações de API
A chave para aplicações adaptativas de versão é a combinação de contratos API e a classe ApiInformation . Esta classe permite-lhe detetar se existe um contrato, tipo ou membro de API especificado, para que possa fazer chamadas de API em segurança em vários dispositivos e versões do sistema operativo.
Contratos 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 API. Isto é útil quando se quer testar várias APIs que existem todas 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 uma funcionalidade — um conjunto de APIs relacionadas que, em conjunto, fornecem uma determinada capacidade. Uma plataforma que implementa qualquer API num contrato de API deve implementar todas as APIs desse contrato. Teste o contrato uma vez e, em seguida, pode chamar com segurança qualquer uma das respetivas APIs.
O maior e mais utilizado contrato é Windows.Foundation.UniversalApiContract, que contém a maioria das APIs do Windows Runtime. Para uma lista de contratos disponíveis, consulte SDKs de extensão da família de dispositivos e contratos de API.
Código adaptativo de versão e XAML condicional
Usa a ApiInformation classe numa condição no teu código para testar a presença de uma API antes de a chamar. Métodos como IsTypePresent, IsEventPresent, IsMethodPresent, e IsPropertyPresent permitem testar na granularidade necessária.
Para mais informações e exemplos, veja Código adaptativo de versão.
Se a Versão Mínima da tua aplicação for a build 17763 (versão 1809) ou posterior, podes usar XAML condicional para definir propriedades e instanciar objetos em marcação sem código por trás. O XAML condicional fornece uma forma de usar ApiInformation.IsApiContractPresent diretamente na marcação.
Para mais informações e exemplos, veja XAML Condicional.
Teste a sua aplicação adaptativa de versão
Quando usar código adaptativo de versão ou XAML condicional, teste a sua aplicação num dispositivo com a Versão Mínima e num dispositivo com a Versão Destino do Windows.
Não podes testar todos os caminhos de código condicional num único dispositivo. Implemente e teste a sua aplicação num dispositivo remoto (ou máquina virtual) a correr a versão mínima suportada do sistema operativo para garantir que todos os caminhos de código funcionam corretamente.
Conteúdo relacionado
Windows developer