TargetDeviceFamily (Windows 10)

Identifica a família de dispositivos direcionada ao pacote. Para obter mais informações sobre famílias de dispositivos, consulte Programação com SDKs de extensão.

Hierarquia de elementos

<Pacote>

    <Dependências>

         <TargetDeviceFamily>

Syntax

<TargetDeviceFamily
    Name = 'An alphanumeric string that can contain period and dash characters.'
    MinVersion = 'A version string in quad notation ("Major.Minor.Build.Revision"), where Major cannot be 0.'
    MaxVersionTested = 'A version string in quad notation ("Major.Minor.Build.Revision"), where Major cannot be 0.' />

Atributos e elementos

Atributos

Atributo Descrição Tipo de dados Obrigatório Valor padrão
Nome O nome da família de dispositivos que seu aplicativo está direcionando. Consulte a seção Exemplos para obter mais informações sobre os nomes de família de dispositivos com suporte. Uma cadeia de caracteres alfanumérica que pode conter caracteres de ponto e traço. Sim
MinVersion A versão mínima da família de dispositivos que seu aplicativo está direcionando. Usado para aplicabilidade no momento da implantação. Se a versão da família de dispositivos do sistema for menor que MinVersion, o aplicativo não será considerado aplicável. Uma cadeia de caracteres de versão na notação quad (Major.Minor.Build.Revision), em Major que não pode ser 0. Sim
MaxVersionTested A versão máxima da família de dispositivos em que seu aplicativo está direcionando que você o testou. Isso é usado em runtime para determinar o espaço de processo efetivo para peculiaridades. Uma cadeia de caracteres de versão na notação quad (Major.Minor.Build.Revision), em Major que não pode ser 0. Sim

Elementos filho

Nenhum.

Elementos pai

Elemento pai Descrição
Dependências Declara outros pacotes dos quais um pacote depende para concluir seu software.

Exemplos

Para direcionar o conjunto de APIs conhecido como "família de dispositivos universais" (o que significa que seu aplicativo é executado em todos os dispositivos), basta especificar essa família de dispositivos, como no exemplo abaixo. Você ainda pode escrever código adaptável para ativar APIs fora da família de dispositivos universais quando seu aplicativo estiver em execução em dispositivos em famílias de dispositivos específicas. As versões 10.0.x.0 e 10.0.y.0 podem, é claro, ser o mesmo valor.

<Dependencies>
    <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
</Dependencies>

Observação

Se você direcionar "Windows.Universal" com "MinVersion" e "MaxVersionTested" definidos como a versão 10.0.0.0, seu aplicativo usará as versões especificadas na Versão Mínima de Destino e na Versão de Destino do arquivo de projeto, respectivamente. Se você estiver usando "Windows.Universal" com "MinVersion" e "MaxVersionTested" definidos como um valor diferente de 10.0.0.0, o aplicativo terá como destino "MinVersion" e "MaxVersionTested" especificados em vez dos valores especificados no arquivo de projeto.

Todas as famílias de dispositivos filho "derivam" de (ou seja, incluem) o conjunto de APIs "família de dispositivos universais". Portanto, uma família de dispositivos filho implica "universal mais outras APIs específicas da família de dispositivos filho". Ao direcionar uma família de dispositivos filho, você não precisa menção universal. Neste próximo exemplo, o aplicativo está direcionando o conjunto de APIs conhecido como "família de dispositivos móveis" e, consequentemente, só será executado em dispositivos que implementam o conjunto de APIs (dispositivos móveis) da família de dispositivos móveis. Substitua "Mobile" por "Desktop", "Xbox", "Holographic", "IoT" ou "IoTHeadless", por exemplo, se você quiser direcionar para outra família de dispositivos.

<Dependencies>
    <TargetDeviceFamily Name="Windows.Mobile" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
</Dependencies>

Observação

Se o aplicativo estiver direcionando uma família de dispositivos diferente de "Windows.Universal", "MinVersion" e "MaxVersionTested" deverão ser especificados corretamente para a família de dispositivos direcionada.

Para direcionar a família de dispositivos Xbox, defina o atributo Name como "Windows.Xbox". Observe que, para direcionar a família de dispositivos Xbox, o MinVersion deve ser definido como pelo menos 10.0.14393.0.

<Dependencies>
    <TargetDeviceFamily Name="Windows.Xbox" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
</Dependencies>

Se o aplicativo for criado especificamente para o HoloLens e não tiver suporte em outras plataformas, especifique a família de dispositivos de destino "Windows.Holographic".

<Dependencies>
    <TargetDeviceFamily Name="Windows.Holographic" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
</Dependencies>

Se o aplicativo for direcionado exclusivamente ao Windows 10 Team Edition, defina o atributo Name como "Windows.Team". Isso é comumente usado para dispositivos Microsoft Surface Hub.

<Dependencies>
    <TargetDeviceFamily Name="Windows.Team" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
</Dependencies>

Se você quiser direcionar a plataforma IoT Core, defina o atributo Name como "Windows.IoT". Para um aplicativo IoT sem cabeça, use "Windows.IoTHeadless".

<Dependencies>
    <TargetDeviceFamily Name="Windows.IoT" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
</Dependencies>

Observação

Atualmente, os aplicativos direcionados a IoT ou IoTHeadless não são válidos na loja de aplicativos e devem ser usados apenas para fins de desenvolvimento.

Neste exemplo, o aplicativo tem como destino as famílias de dispositivos móveis e desktop. Consequentemente, o aplicativo pode ser executado em dispositivos móveis ou em dispositivos de área de trabalho, mas não em outros. Observe que o aplicativo deve usar código adaptável para chamar qualquer API que não esteja no conjunto de APIs da família de dispositivos universal (a menos que a API seja compartilhada por ambas as famílias de dispositivos).

<Dependencies>
    <TargetDeviceFamily Name="Windows.Mobile" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
</Dependencies>

Neste último exemplo, o aplicativo tem como destino a família de dispositivos universal (portanto, por padrão, ele é executado em todos os dispositivos com a versão mínima especificada). A exceção é que, para dispositivos que implementam a família de dispositivos móveis, o aplicativo requer pelo menos a versão 10.0.m.0 para estar presente. É assim que você indica que não dá suporte a versões de famílias de dispositivos filho anteriores a uma versão mínima especificada, mesmo que isso seja diferente da versão compatível com o caso geral (o caso da família de dispositivos universais). Observe também o valor MaxVersionTested para a dependência da família de dispositivos móveis no exemplo. Quando z > n, o aplicativo será executado na versão 10.0.z.0 de um dispositivo móvel, mas ele experimentará o comportamento de versão 10.0.n.0 da plataforma nessa versão.

<Dependencies>
    <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
    <TargetDeviceFamily Name="Windows.Mobile" MinVersion="10.0.m.0" MaxVersionTested="10.0.n.0"/>
</Dependencies>

Comentários

Um pacote tem acesso a comportamentos do sistema operacional (SO) somente até <TargetDeviceFamily [...] MaxVersionTested="version">. Portanto, se o valor de MaxVersionTested um pacote for maior que a versão do sistema operacional no computador de destino, potencialmente haverá um comportamento do sistema operacional compreendido pelo pacote, mas isso não será disponibilizado para o pacote pelo sistema operacional de destino. Se o sistema operacional de destino for atualizado (mais próximo ou correspondente), MaxVersionTestedo comportamento potencialmente do sistema operacional compreendido pelo pacote ficará disponível que não estava disponível anteriormente. Consequentemente, o sistema operacional reprocessa o pacote para iluminar qualquer comportamento desse tipo.

O processo pelo qual a Implantação faz esse cenário de iluminação acontecer é conhecido como ReIndexing.

Requisitos

Requisito Valor
Namespace http://schemas.microsoft.com/appx/manifest/foundation/windows10