TargetDeviceFamily (Windows 10)

Identifie la famille d’appareils que votre package cible. 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 que votre application cible. Pour plus d’informations sur les noms de famille d’appareils pris en charge, consultez la section Exemples . Chaîne alphanumérique qui peut 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 quad notation (Major.Minor.Build.Revision), où Major ne peut pas être 0. Oui
MaxVersionTested Version maximale de la famille d’appareils sur laquelle votre application cible que vous avez testée. Il est utilisé au moment de l’exécution pour déterminer l’espace de processus effectif pour les excentriques. Chaîne de version en quad notation (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 des API appelées « famille d’appareils universelles » (ce qui signifie que votre application s’exécute sur tous les appareils), spécifiez simplement qu’une famille d’appareils, comme dans l’exemple ci-dessous. Vous pouvez toujours écrire du code adaptatif pour éclairer les API en dehors de la famille d’appareils universelle lorsque votre application s’exécute sur des appareils dans des familles d’appareils spécifiques. Les versions 10.0.x.0 et 10.0.y.0 peuvent, bien sûr, être identiques.

<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.0, votre application utilise les versions spécifiées dans la version minimale cible et la version cible du fichier projet, respectivement. Si vous utilisez « Windows.Universal » avec « MinVersion » et « MaxVersionTested » défini sur une valeur autre que 10.0.0.0.0, l’application cible les valeurs spécifiées « MinVersion » et « MaxVersionTested » 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 universelles ». Par conséquent, une famille d’appareils enfants implique « universal plus d’autres API spécifiques à la famille d’appareils enfants ». Lorsque vous ciblez une famille d’appareils enfants, vous n’avez pas besoin de mentionner universel. Dans cet exemple suivant, l’application cible l’ensemble d’API appelée « famille d’appareils mobiles », et par conséquent, elle s’exécute uniquement sur les appareils qui implémentent l’ensemble d’API de 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 valeurs « MinVersion » et « MaxVersionTested » doivent être spécifiées correctement 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éfinie 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 la Windows 10 Collaboration Edition, définissez l’attribut Name sur « Windows.Team ». Cela 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 doivent être utilisées uniquement à 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 n’importe quelle API qui n’est pas dans l’ensemble universel d’API de famille d’appareils (sauf si l’API doit être 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 universelle (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.0.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>

Spécifications

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