TargetDeviceFamily (Windows 10)

Identifie la famille d’appareils cible par votre package. Pour plus d’informations sur les familles d’appareils, consultez Programmation avec des kits SDK d’extension.

Hiérarchie d’éléments

<Paquet>

    <Les dépendances>

         <TargetDeviceFamily>

Syntaxe

<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.' />

Attributs et éléments

Attributs

Attribut Description Type de données Obligatoire Valeur par défaut
Nom Nom de la famille d’appareils ciblée par votre application. Pour plus d’informations sur les noms de famille d’appareils pris en charge, consultez la section Exemples . Chaîne alphanumérique pouvant contenir des points et des tirets. Oui
MinVersion Version minimale de la famille d’appareils ciblée par votre application. Utilisé pour l’applicabilité au moment du déploiement. Si la version de la famille d’appareils du système est inférieure à MinVersion, l’application n’est pas considérée comme applicable. Chaîne de version en notation quad (Major.Minor.Build.Revision), où Major ne peut pas être 0. Oui
MaxVersionTested Version maximale de la famille d’appareils ciblée par votre application et que vous avez testée. Il est utilisé au moment de l’exécution pour déterminer l’espace de processus effectif pour les bizarreries. Chaîne de version en notation quad (Major.Minor.Build.Revision), où Major ne peut pas être 0. Oui

Éléments enfants

Aucune.

Éléments parents

Élément parent Description
Dépendances Déclare d’autres packages dont dépend un package pour terminer son logiciel.

Exemples

Pour cibler l’ensemble d’API appelée « famille d’appareils universels » (ce qui signifie que votre application s’exécute sur tous les appareils), spécifiez simplement cette famille d’appareils, comme dans l’exemple ci-dessous. Vous pouvez toujours écrire du code adaptatif pour allumer des API en dehors de la famille d’appareils universelle lorsque votre application s’exécute sur des appareils appartenant à des familles d’appareils spécifiques. Les versions 10.0.x.0 et 10.0.y.0 peuvent bien sûr avoir la même valeur.

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

Notes

Si vous ciblez « Windows.Universal » avec « MinVersion » et « MaxVersionTested » définis sur la version 10.0.0.0, votre application utilisera les versions spécifiées respectivement dans la version min cible et la version cible du fichier projet. Si vous utilisez « Windows.Universal » avec « MinVersion » et « MaxVersionTested » définis sur une valeur autre que 10.0.0.0, l’application cible les valeurs « MinVersion » et « MaxVersionTested » spécifiées au lieu des valeurs spécifiées dans le fichier projet.

Toutes les familles d’appareils enfants « dérivent » de (c’est-à-dire, elles incluent) l’ensemble d’API « famille d’appareils universels ». Par conséquent, une famille d’appareils enfants implique « universelle plus d’autres API spécifiques à l’appareil-appareil-famille ». Lorsque vous ciblez une famille d’appareils enfants, vous n’avez pas besoin de mention universel. Dans cet exemple suivant, l’application cible l’ensemble d’API connu sous le nom de « famille d’appareils mobiles », et par conséquent, elle s’exécutera uniquement sur les appareils qui implémentent l’ensemble d’API de la famille d’appareils mobiles (appareils mobiles). Remplacez « Mobile » par « Desktop », « Xbox », « Holographic », « IoT » ou « IoTHeadless », par exemple, si vous souhaitez cibler une autre famille d’appareils.

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

Notes

Si l’application cible une famille d’appareils autre que « Windows.Universal », les « MinVersion » et « MaxVersionTested » doivent être correctement spécifiés pour la famille d’appareils ciblée.

Pour cibler la famille d’appareils Xbox, définissez l’attribut Name sur « Windows.Xbox ». Notez que pour cibler la famille d’appareils Xbox, MinVersion doit être défini sur au moins 10.0.14393.0.

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

Si votre application est créée spécifiquement pour HoloLens et n’est pas prise en charge sur d’autres plateformes, spécifiez la famille d’appareils cible « Windows.Holographic ».

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

Si votre application cible exclusivement l’édition Windows 10 Collaboration, définissez l’attribut Name sur « Windows.Team ». Il est couramment utilisé pour les appareils Microsoft Surface Hub.

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

Si vous souhaitez cibler la plateforme IoT Core, définissez l’attribut Name sur « Windows.IoT ». Pour une application IoT sans tête, utilisez « Windows.IoTHeadless ».

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

Notes

Actuellement, les applications ciblant IoT ou IoTHeadless ne sont pas valides dans l’App Store et ne doivent être utilisées qu’à des fins de développement.

Dans cet exemple, l’application cible les familles d’appareils mobiles et de bureau. Par conséquent, l’application peut s’exécuter sur des appareils mobiles ou sur des appareils de bureau, mais pas d’autres. Notez que l’application doit utiliser du code adaptatif pour appeler une API qui ne figure pas dans l’ensemble d’API de la famille d’appareils universel (sauf si l’API est partagée par les deux familles d’appareils).

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

Dans ce dernier exemple, l’application cible la famille d’appareils universels (par conséquent, par défaut, elle s’exécute sur tous les appareils avec la version minimale spécifiée). L’exception étant que, pour les appareils qui implémentent la famille d’appareils mobiles, l’application nécessite au moins la version 10.0.m.0 pour être présente. C’est ainsi que vous indiquez que vous ne prenez pas en charge les versions des familles d’appareils enfants antérieures à une version minimale spécifiée, même si cela diffère de la version que vous prenez en charge pour le cas général (cas de famille d’appareils universels). Notez également la valeur MaxVersionTested pour la dépendance de la famille d’appareils mobiles dans l’exemple. Où z > n, l’application s’exécute sur la version 10.0.z.0 d’un appareil mobile, mais elle connaîtra un comportement de version 10.0.n.0 à partir de la plateforme sur cette version.

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

Remarques

Un package a accès aux comportements du système d’exploitation (OS) uniquement jusqu’à <TargetDeviceFamily [...] MaxVersionTested="version">. Par conséquent, si la valeur d’un MaxVersionTested package est supérieure à la version du système d’exploitation sur l’ordinateur cible, il existe potentiellement un comportement du système d’exploitation compris par le package, mais qui n’est pas mis à la disposition du package par le système d’exploitation cible. Si les mises à niveau du système d’exploitation cible (plus proches ou correspondantes), MaxVersionTestedle comportement du système d’exploitation potentiellement compris par le package devient disponible qui n’était pas disponible auparavant. Par conséquent, le système d’exploitation retraite le package afin d’éclairer tout comportement de ce type.

Le processus par lequel le déploiement rend ce scénario d’éclairage se produit est appelé Réindexation.

Configuration requise

Condition requise Valeur
Espace de noms http://schemas.microsoft.com/appx/manifest/foundation/windows10