TargetDeviceFamily (Windows 10)

Identifica la famiglia di dispositivi destinata al pacchetto. Per altre informazioni sulle famiglie di dispositivi, vedere Programmazione con SDK di estensione.

Gerarchia degli elementi

<Pacchetto>

    <Dipendenze>

         <TargetDeviceFamily>

Sintassi

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

Attributi ed elementi

Attributi

Attributo Descrizione Tipo di dati Obbligatoria Valore predefinito
Nome Nome della famiglia di dispositivi destinata all'app. Per altre informazioni sui nomi di famiglia dei dispositivi supportati, vedere la sezione Esempi . Stringa alfanumerica che può contenere caratteri punto e trattino.
MinVersion Versione minima della famiglia di dispositivi destinata all'app. Usato per l'applicabilità in fase di distribuzione. Se la versione della famiglia di dispositivi del sistema è inferiore a MinVersion, l'app non viene considerata applicabile. Stringa di versione nella notazione quad (Major.Minor.Build.Revision), dove Major non può essere 0.
MaxVersionTested Versione massima della famiglia di dispositivi in cui l'app è destinata a cui è stata testata. Questa operazione viene usata in fase di esecuzione per determinare lo spazio effettivo del processo per gli strani. Stringa di versione nella notazione quad (Major.Minor.Build.Revision), dove Major non può essere 0.

Elementi figlio

Nessuno.

Elementi padre

Elemento padre Descrizione
Dipendenze Dichiara altri pacchetti che un pacchetto dipende dal completamento del software.

Esempio

Per indirizzare il set di API note come "famiglia di dispositivi universali" (ovvero l'app viene eseguita su tutti i dispositivi), specificare solo che una famiglia di dispositivi, come nell'esempio seguente. È comunque possibile scrivere codice adattivo per accendere le API all'esterno della famiglia di dispositivi universali quando l'app è in esecuzione nei dispositivi in specifiche famiglie di dispositivi. Le versioni 10.0.x.0 e 10.0.y.0 possono, naturalmente, essere lo stesso valore.

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

Nota

Se si esegue la destinazione "Windows.Universal" con "MinVersion" e "MaxVersionTested" impostata rispettivamente sulla versione 10.0.0.0, l'app userà le versioni specificate rispettivamente nella versione minima di destinazione e nella versione di destinazione del file di progetto. Se si usa "Windows.Universal" con "MinVersion" e "MaxVersionTested" impostato su un valore diverso da 10.0.0.0.0, l'app destinazionerà l'oggetto "MinVersion" e "MaxVersionTested" anziché i valori specificati nel file di progetto.

Tutte le famiglie di dispositivi figlio "derivano" da (ovvero, includono) il set di API "famiglia di dispositivi universali". Quindi, una famiglia di dispositivi figlio implica "universali e altre API specifiche della famiglia di dispositivi figlio". Quando si punta a una famiglia di dispositivi figlio, non è necessario menzionare universale. In questo esempio successivo, l'app è destinata al set di API note come "famiglia di dispositivi mobili", e di conseguenza verrà eseguito solo nei dispositivi che implementano il set di API (dispositivi mobili). Sostituire "Mobile" con "Desktop", "Xbox", "Holographic", "IoT" o "IoTHeadless" ad esempio, se si vuole usare un'altra famiglia di dispositivi.

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

Nota

Se l'app è destinata a una famiglia di dispositivi diversa da "Windows.Universal", la proprietà "MinVersion" e "MaxVersionTested" deve essere specificata correttamente per la famiglia di dispositivi di destinazione.

Per indirizzare la famiglia di dispositivi Xbox, impostare l'attributo Name su "Windows.Xbox". Si noti che per indirizzare la famiglia di dispositivi Xbox, MinVersion deve essere impostato su almeno 10.0.14393.0.

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

Se l'app viene creata in modo specifico per HoloLens e non è supportata in altre piattaforme, specificare la famiglia di dispositivi di destinazione "Windows.Holographic".

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

Se l'app è destinata esclusivamente all'Windows 10 Team Edition, impostare l'attributo Name su "Windows.Team". Questo viene comunemente usato per i dispositivi Microsoft Surface Hub.

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

Se si vuole usare la piattaforma IoT Core, impostare l'attributo Name su "Windows.IoT". Per un'app IoT headless, usare "Windows.IoTHeadless".

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

Nota

Attualmente le app destinate a IoT o IoTHeadless non sono valide nell'app store e devono essere usate solo a scopo di sviluppo.

In questo esempio l'app è destinata alle famiglie di dispositivi mobili e desktop. Di conseguenza, l'app può essere eseguita nei dispositivi mobili o nei dispositivi desktop, ma nessun altro. Si noti che l'app deve usare il codice adattivo per chiamare qualsiasi API che non si trova nel set di API universali del dispositivo (a meno che l'API non venga condivisa da entrambe le famiglie di dispositivi).

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

In questo ultimo esempio, l'app è destinata alla famiglia di dispositivi universale (quindi, per impostazione predefinita, viene eseguita su tutti i dispositivi con la versione minima specificata). L'eccezione è che, per i dispositivi che implementano la famiglia di dispositivi mobili, l'app richiede almeno la versione 10.0.m.0 da presentare. Questo è il modo in cui si indica che non si supportano le versioni delle famiglie di dispositivi figlio precedenti a una versione minima specificata, anche se diversa dalla versione supportata per il caso generale (il caso della famiglia di dispositivi universali). Si noti anche il valore MaxVersionTested per la dipendenza della famiglia di dispositivi mobili nell'esempio. Dove z > n, l'app verrà eseguita nella versione 10.0.z.0 di un dispositivo mobile, ma avrà un comportamento della versione 10.0.n.0 dalla piattaforma in tale versione.

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

Commenti

Un pacchetto ha accesso ai comportamenti del sistema operativo (OS) solo fino a <TargetDeviceFamily [...] MaxVersionTested="version">. Quindi, se il valore di MaxVersionTested un pacchetto è superiore alla versione del sistema operativo nel computer di destinazione, il comportamento del sistema operativo è potenzialmente compreso dal pacchetto, ma non è reso disponibile per il pacchetto dal sistema operativo di destinazione. Se l'aggiornamento del sistema operativo di destinazione (più vicino a o corrispondente), MaxVersionTestedil comportamento del sistema operativo potenzialmente compreso dal pacchetto diventa disponibile in precedenza non disponibile. Di conseguenza, il sistema operativo elabora nuovamente il pacchetto per accendere qualsiasi comportamento di questo tipo.

Il processo in base al quale la distribuzione rende possibile questo scenario di luce è noto come ReIndexing.

Requisiti

Requisito Valore
Spazio dei nomi http://schemas.microsoft.com/appx/manifest/foundation/windows10