TargetDeviceFamily (Windows 10)

Identifica la familia de dispositivos a la que se dirige el paquete. Para obtener más información sobre las familias de dispositivos, consulta Programación con SDK de extensión.

Jerarquía de elemento

<Paquete>

    <Dependencias>

         <TargetDeviceFamily>

Sintaxis

<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 y elementos

Atributos

Atributo Descripción Tipo de datos Obligatorio Valor predeterminado
Nombre Nombre de la familia de dispositivos a la que se dirige la aplicación. Consulte la sección Ejemplos para obtener más información sobre los nombres de familia de dispositivos admitidos. Cadena alfanumérica que puede contener caracteres de punto y guion.
MinVersion La versión mínima de la familia de dispositivos a la que se dirige la aplicación. Se usa para la aplicabilidad en el momento de la implementación. Si la versión de la familia de dispositivos del sistema es inferior a MinVersion, la aplicación no se considera aplicable. Cadena de versión en notación cuádruple (Major.Minor.Build.Revision), donde Major no puede ser 0.
MaxVersionTested La versión máxima de la familia de dispositivos en la que la aplicación tiene como destino lo ha probado. Esto se usa en tiempo de ejecución para determinar el espacio de proceso efectivo para las peculiaridades. Cadena de versión en notación cuádruple (Major.Minor.Build.Revision), donde Major no puede ser 0.

Elementos secundarios

Ninguno.

Elementos primarios

Elemento primario Descripción
Dependencias Declara otros paquetes de los que depende un paquete para completar su software.

Ejemplos

Para establecer como destino el conjunto de API conocidas como "familia de dispositivos universales" (lo que significa que la aplicación se ejecuta en todos los dispositivos), solo tiene que especificar esa familia de dispositivos, como en el ejemplo siguiente. Todavía puede escribir código adaptable para iluminar las API fuera de la familia de dispositivos universales cuando la aplicación se ejecuta en dispositivos de familias de dispositivos específicas. Las versiones 10.0.x.0 y 10.0.y.0 pueden, por supuesto, ser el mismo valor.

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

Nota:

Si el destino es "Windows.Universal" con "MinVersion" y "MaxVersionTested" establecido en la versión 10.0.0.0.0, la aplicación usará las versiones especificadas en la versión mínima de destino y la versión de destino del archivo de proyecto, respectivamente. Si usa "Windows.Universal" con "MinVersion" y "MaxVersionTested" establecido en un valor distinto de 10.0.0.0.0, la aplicación tendrá como destino "MinVersion" y "MaxVersionTested" especificados en lugar de los valores especificados en el archivo del proyecto.

Todas las familias de dispositivos secundarios "derivan" de (es decir, incluyen) el conjunto de API "familia de dispositivos universales". Por lo tanto, una familia de dispositivos secundarios implica "universal más otras API específicas de la familia de dispositivos secundarios". Cuando se dirige a una familia de dispositivos secundarios, no es necesario mencionar universal. En este ejemplo siguiente, la aplicación tiene como destino el conjunto de API conocidas como la "familia de dispositivos móviles" y, por lo tanto, solo se ejecutará en dispositivos que implementen el conjunto de API (dispositivos móviles) de la familia de dispositivos móviles. Reemplace "Mobile" por "Desktop", "Xbox", "Holographic", "IoT" o "IoTHeadless", por ejemplo, si desea dirigirse a otra familia de dispositivos.

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

Nota

Si la aplicación tiene como destino una familia de dispositivos distinta de "Windows.Universal", se deben especificar correctamente "MinVersion" y "MaxVersionTested" para la familia de dispositivos de destino.

Para dirigirse a la familia de dispositivos Xbox, establezca el atributo Name en "Windows.Xbox". Tenga en cuenta que para tener como destino la familia de dispositivos Xbox, minVersion debe establecerse en al menos 10.0.14393.0.

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

Si la aplicación se crea específicamente para HoloLens y no se admite en otras plataformas, especifique la familia de dispositivos de destino "Windows.Holographic".

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

Si la aplicación tiene como destino la edición Windows 10 Team exclusivamente, establezca el atributo Name en "Windows.Team". Esto se usa normalmente para dispositivos Microsoft Surface Hub.

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

Si quiere establecer como destino la plataforma ioT Core, establezca el atributo Name en "Windows.IoT". Para una aplicación de IoT sin encabezado, use "Windows.IoTHeadless".

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

Nota

Actualmente, las aplicaciones destinadas a IoT o IoTHeadless no son válidas en la tienda de aplicaciones y solo deben usarse con fines de desarrollo.

En este ejemplo, la aplicación tiene como destino las familias de dispositivos móviles y de escritorio. Por lo tanto, la aplicación puede ejecutarse en dispositivos móviles o en dispositivos de escritorio, pero ninguna otra. Tenga en cuenta que la aplicación debe usar código adaptable para llamar a cualquier API que no esté en el conjunto de API de familia de dispositivos universales (a menos que ambas familias de dispositivos compartan la API).

<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>

En este último ejemplo, la aplicación tiene como destino la familia de dispositivos universales (por lo que, de forma predeterminada, se ejecuta en todos los dispositivos con la versión mínima especificada). La excepción es que, para los dispositivos que implementan la familia de dispositivos móviles, la aplicación requiere que haya al menos la versión 10.0.0.m.0. Así es como indica que no admite versiones de familias de dispositivos secundarios anteriores a una versión mínima especificada, incluso si eso difiere de la versión que admite para el caso general (el caso de familia de dispositivos universales). Tenga en cuenta también el valor MaxVersionTested para la dependencia de la familia de dispositivos móviles en el ejemplo. Donde z > n, la aplicación se ejecutará en la versión 10.0.z.0 de un dispositivo móvil, pero experimentará el comportamiento de la versión 10.0.n.0 desde la plataforma en esa versión.

<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>

Comentarios

Un paquete tiene acceso a los comportamientos del sistema operativo (SO) solo hasta <TargetDeviceFamily [...] MaxVersionTested="version">. Por lo tanto, si el valor de MaxVersionTested un paquete es mayor que la versión del sistema operativo en la máquina de destino, es posible que el sistema operativo entienda por el paquete, pero que el sistema operativo de destino no pone a disposición del paquete. Si el sistema operativo de destino se actualiza (más cercano o coincidente), MaxVersionTestedel comportamiento del sistema operativo potencialmente comprendido por el paquete estará disponible que no estaba disponible anteriormente. Por lo tanto, el sistema operativo vuelve a procesar el paquete para iluminar cualquier comportamiento de este tipo.

El proceso por el que la implementación hace que se produzca este escenario claro se conoce como ReIndexing.

Requisitos

Requisito Value
Espacio de nombres http://schemas.microsoft.com/appx/manifest/foundation/windows10