TargetDeviceFamily (Windows 10)

Mengidentifikasi keluarga perangkat yang ditargetkan paket Anda. Untuk informasi selengkapnya tentang keluarga perangkat, lihat Pemrograman dengan SDK ekstensi.

Hierarki elemen

<Paket>

    <Dependensi>

         <TargetDeviceFamily>

Sintaks

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

Atribut dan elemen

Atribut

Atribut Deskripsi Jenis Data Diperlukan Nilai default
Nama Nama keluarga perangkat yang ditargetkan aplikasi Anda. Lihat bagian Contoh untuk informasi selengkapnya tentang nama keluarga perangkat yang didukung. String alfanumerik yang dapat berisi karakter titik dan tanda hubung. Ya
MinVersion Versi minimum keluarga perangkat yang ditargetkan aplikasi Anda. Digunakan untuk penerapan pada waktu penyebaran. Jika versi keluarga perangkat dari sistem lebih rendah dari MinVersion, maka aplikasi tidak dianggap berlaku. String versi dalam notasi quad (Major.Minor.Build.Revision), di mana Major tidak dapat .0 Ya
MaxVersionTested Versi maksimum keluarga perangkat yang ditargetkan aplikasi Anda yang telah Anda uji. Ini digunakan pada runtime untuk menentukan ruang proses yang efektif untuk kedaluwarsa. String versi dalam notasi quad (Major.Minor.Build.Revision), di mana Major tidak dapat .0 Ya

Elemen anak

Tidak ada.

Elemen induk

elemen induk Deskripsi
Dependensi Menyatakan paket lain yang bergantung pada paket untuk menyelesaikan perangkat lunaknya.

Contoh

Untuk menargetkan kumpulan API yang dikenal sebagai "keluarga perangkat universal" (yang berarti aplikasi Anda berjalan di semua perangkat), cukup tentukan satu keluarga perangkat, seperti dalam contoh di bawah ini. Anda masih dapat menulis kode adaptif untuk menyalakan API di luar keluarga perangkat universal saat aplikasi Anda berjalan di perangkat dalam keluarga perangkat tertentu. Versi 10.0.x.0 dan 10.0.y.0 dapat, tentu saja, menjadi nilai yang sama.

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

Catatan

Jika Anda menargetkan "Windows.Universal" dengan "MinVersion" dan "MaxVersionTested" diatur ke versi 10.0.0.0, aplikasi Anda akan menggunakan versi yang ditentukan dalam Versi Target Min dan Versi Target dari file proyek. Jika Anda menggunakan "Windows.Universal" dengan "MinVersion" dan "MaxVersionTested" diatur ke nilai selain 10.0.0.0, aplikasi akan menargetkan "MinVersion" dan "MaxVersionTested" yang ditentukan, bukan nilai yang ditentukan dalam file proyek.

Semua keluarga perangkat anak "berasal" dari (yaitu, mereka menyertakan) set API "keluarga perangkat universal". Jadi, keluarga perangkat anak menyiratkan "universal plus API khusus keluarga perangkat anak lainnya". Ketika Anda menargetkan keluarga perangkat anak, Anda tidak perlu menyebutkan universal. Dalam contoh berikutnya ini, aplikasi menargetkan serangkaian API yang dikenal sebagai "keluarga perangkat seluler", dan akibatnya hanya akan berjalan pada perangkat yang mengimplementasikan kumpulan API keluarga perangkat seluler (perangkat seluler). Ganti "Seluler" dengan "Desktop", "Xbox", "Holographic", "IoT", atau "IoTHeadless" misalnya, jika Anda ingin menargetkan keluarga perangkat lain.

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

Catatan

Jika aplikasi menargetkan keluarga perangkat selain "Windows.Universal", "MinVersion" dan "MaxVersionTested" harus ditentukan dengan benar untuk keluarga perangkat yang ditargetkan.

Untuk menargetkan keluarga perangkat Xbox, atur atribut Name ke "Windows.Xbox". Perhatikan bahwa untuk menargetkan keluarga perangkat Xbox, MinVersion harus diatur ke setidaknya 10.0.14393.0.

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

Jika aplikasi Anda dibuat khusus untuk HoloLens dan tidak didukung di platform lain, tentukan keluarga perangkat target "Windows.Holographic".

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

Jika aplikasi Anda menargetkan Windows 10 Team Edition secara eksklusif, atur atribut Name ke "Windows.Team". Ini biasanya digunakan untuk perangkat Microsoft Surface Hub.

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

Jika Anda ingin menargetkan platform IoT Core, atur atribut Name ke "Windows.IoT". Untuk aplikasi IoT tanpa kepala, gunakan "Windows.IoTHeadless".

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

Catatan

Saat ini, aplikasi yang menargetkan IoT atau IoTHeadless tidak valid di app store dan harus digunakan hanya untuk tujuan pengembangan.

Dalam contoh ini, aplikasi menargetkan keluarga perangkat seluler dan desktop. Akibatnya aplikasi dapat berjalan di perangkat seluler atau di perangkat desktop, tetapi tidak ada yang lain. Perhatikan bahwa aplikasi harus menggunakan kode adaptif untuk memanggil API apa pun yang tidak ada di kumpulan API keluarga perangkat universal (kecuali API kebetulan dibagikan oleh kedua keluarga perangkat).

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

Dalam contoh terakhir ini, aplikasi menargetkan keluarga perangkat universal (jadi, secara default, aplikasi berjalan pada semua perangkat dengan versi minimum yang ditentukan). Pengecualiannya adalah bahwa, untuk perangkat yang mengimplementasikan keluarga perangkat seluler, aplikasi memerlukan setidaknya versi 10.0.m.0 untuk hadir. Ini adalah cara Anda menunjukkan bahwa Anda tidak mendukung versi keluarga perangkat anak yang lebih awal dari versi minimum yang ditentukan, bahkan jika itu berbeda dari versi yang Anda dukung untuk kasus umum (kasus keluarga perangkat universal). Perhatikan juga nilai MaxVersionTested untuk dependensi keluarga perangkat seluler dalam contoh. Jika z > n, aplikasi akan berjalan pada versi 10.0.z.0 dari perangkat seluler, tetapi akan mengalami perilaku versi 10.0.n.0 dari platform pada versi tersebut.

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

Keterangan

Paket memiliki akses ke perilaku sistem operasi (OS) hanya hingga <TargetDeviceFamily [...] MaxVersionTested="version">. Jadi jika nilai paket MaxVersionTestedlebih tinggi dari versi OS pada komputer target, maka berpotensi ada perilaku OS yang dipahami oleh paket, tetapi itu tidak tersedia untuk paket oleh OS target. Jika OS target ditingkatkan (lebih dekat ke, atau cocok, MaxVersionTested), maka berpotensi perilaku OS yang dipahami oleh paket menjadi tersedia yang sebelumnya tidak tersedia. Akibatnya, OS memproses ulang paket untuk menyalakan perilaku tersebut.

Proses di mana Penyebaran membuat skenario pencahayaan ini terjadi dikenal sebagai ReIndexing.

Persyaratan

Persyaratan Nilai
Ruang nama http://schemas.microsoft.com/appx/manifest/foundation/windows10