Tentukan sumber daya default yang digunakan aplikasi Anda

Jika aplikasi Anda tidak memiliki sumber daya yang cocok dengan pengaturan tertentu dari perangkat pelanggan, sumber daya default aplikasi akan digunakan. Topik ini menjelaskan cara menentukan sumber daya default tersebut.

Saat pelanggan menginstal aplikasi Anda dari Microsoft Store, pengaturan di perangkat pelanggan dicocokkan dengan sumber daya aplikasi yang tersedia. Pencocokan ini dilakukan sehingga hanya sumber daya yang sesuai yang perlu diunduh dan diinstal untuk pengguna tersebut. Misalnya, string dan gambar yang paling tepat untuk preferensi bahasa pengguna, dan resolusi perangkat dan pengaturan DPI, digunakan. Misalnya, 200 adalah nilai default untuk scale, tetapi Anda dapat mengambil alih default tersebut jika anda mau.

Bahkan untuk sumber daya yang tidak masuk ke paket sumber daya mereka sendiri (seperti gambar yang disesuaikan untuk pengaturan kontras tinggi), Anda dapat menentukan sumber daya default apa yang harus digunakan aplikasi pada durasi jika sumber daya yang cocok dengan pengaturan pengguna tidak dapat ditemukan. Misalnya, standard adalah nilai default untuk contrast, tetapi Anda dapat mengambil alih default tersebut jika anda mau.

Default ini ditentukan dalam bentuk nilai kualifikasi sumber daya default. Untuk penjelasan tentang apa itu kualifikasi sumber daya, penggunaannya, dan tujuannya, lihat Menyesuaikan sumber daya Anda untuk bahasa, skala, kontras tinggi, dan kualifikasi lainnya.

Anda dapat mengonfigurasi default ini dengan salah satu dari dua cara. Anda dapat menambahkan file konfigurasi ke proyek, atau mengedit file proyek secara langsung. Gunakan opsi mana pun yang paling nyaman bagi Anda, atau yang paling sesuai dengan sistem build Anda.

Opsi 1. Gunakan priconfig.default.xml untuk menentukan nilai kualifikasi default

  1. Di Visual Studio, tambahkan item baru ke proyek Anda. Pilih File XML, dan beri nama file priconfig.default.xml.

  2. Di Penjelajah Solusi, pilih priconfig.default.xml dan periksa jendela Properti. Tindakan Build file harus diatur ke Tidak Ada, dan Salin ke Direktori Output harus diatur ke Jangan salin.

  3. Ganti isi file dengan XML ini.

    <default>
       <qualifier name="Language" value="LANGUAGE-TAG(S)" />
       <qualifier name="Contrast" value="standard" />
       <qualifier name="Scale" value="200" />
       <qualifier name="HomeRegion" value="001" />
       <qualifier name="TargetSize" value="256" />
       <qualifier name="LayoutDirection" value="LTR" />
       <qualifier name="DXFeatureLevel" value="DX9" />
       <qualifier name="Configuration" value="" />
       <qualifier name="AlternateForm" value="" />
    </default>
    

    Catatan Nilai LANGUAGE-TAG(S) perlu disinkronkan dengan bahasa default aplikasi Anda. Jika itu adalah satu tag bahasa BCP-47, bahasa default aplikasi Anda harus menjadi tag yang sama. Jika ini adalah daftar tag bahasa yang dipisahkan koma, bahasa default aplikasi Anda harus menjadi tag pertama dalam daftar. Anda mengatur bahasa default aplikasi di bidang Bahasa default pada tab Aplikasi di file sumber manifes paket aplikasi Anda (Package.appxmanifest).

  4. Setiap <qualifier> elemen memberi tahu Visual Studio nilai apa yang akan digunakan sebagai default untuk setiap nama kualifikasi. Dengan konten file yang Anda miliki sejauh ini, Anda belum benar-benar mengubah perilaku Visual Studio. Dengan kata lain, Visual Studio sudah bersifat seolah-olah file ini ada dengan konten ini, karena ini adalah default default. Jadi untuk mengambil alih default dengan nilai default Anda sendiri, Anda harus mengubah nilai dalam file. Berikut adalah contoh tampilan file jika Anda telah mengedit tiga nilai pertama.

    <default>
       <qualifier name="Language" value="de-DE" />
       <qualifier name="Contrast" value="black" />
       <qualifier name="Scale" value="400" />
       <qualifier name="HomeRegion" value="001" />
       <qualifier name="TargetSize" value="256" />
       <qualifier name="LayoutDirection" value="LTR" />
       <qualifier name="DXFeatureLevel" value="DX9" />
       <qualifier name="Configuration" value="" />
       <qualifier name="AlternateForm" value="" />
    </default>
    
  5. Simpan dan tutup file dan bangun kembali proyek Anda.

Untuk mengonfirmasi bahwa default yang diambil alih sedang diperhitungkan, cari file <ProjectFolder>\obj\<ReleaseConfiguration folder>\priconfig.xml dan konfirmasikan bahwa kontennya cocok dengan penimpaan Anda. Jika melakukannya, maka Anda telah berhasil mengonfigurasi nilai kualifikasi sumber daya yang akan digunakan aplikasi Anda secara default. Jika kecocokan untuk pengaturan pengguna tidak ditemukan, sumber daya akan digunakan yang nama folder atau filenya berisi nilai kualifikasi default yang telah Anda tetapkan di sini.

Bagaimana cara kerjanya?

Di balik layar, Visual Studio meluncurkan alat bernama MakePri.exe untuk menghasilkan file yang dikenal sebagai Indeks Sumber Daya Paket (PRI), yang menjelaskan semua sumber daya aplikasi Anda, termasuk menunjukkan mana yang merupakan sumber daya default. Untuk detail tentang alat ini, lihat Mengkompilasi sumber daya secara manual dengan MakePri.exe. Visual Studio meneruskan file konfigurasi ke MakePri.exe. Konten file Anda priconfig.default.xml digunakan sebagai elemen file konfigurasi tersebut <default> , yang merupakan bagian yang menentukan kumpulan nilai kualifikasi yang dianggap default. Jadi, menambahkan dan mengedit priconfig.default.xml pada akhirnya memengaruhi konten file Indeks Sumber Daya Paket yang dihasilkan Visual Studio untuk aplikasi Anda dan termasuk dalam paket aplikasinya.

Catatan Setiap kali Anda mengubah nilai <qualifier name="Language" ... /> elemen, Anda perlu menyinkronkan perubahan tersebut dengan bahasa default aplikasi Anda. Ini agar sumber daya bahasa yang diindeks dalam file PRI aplikasi Anda cocok dengan bahasa default manifes aplikasi Anda. Nilai dalam <qualifier name="Language" ... /> elemen mengambil alih nilai dalam manifes sehubungan dengan konten <ProjectFolder>\obj\<ReleaseConfiguration folder>\priconfig.xml, tetapi file tersebut dan manifes aplikasi Anda harus cocok.

Menggunakan nama file yang berbeda dari priconfig.default.xml

Jika Anda memberi nama file priconfig.default.xmlAnda , maka Visual Studio akan mengenalinya dan menggunakannya secara otomatis. Jika Anda memberinya nama yang berbeda, maka Anda harus memberi tahu Visual Studio. Dalam file proyek Anda, antara tag pembuka dan penutup dari elemen pertama <PropertyGroup> , tambahkan XML ini.

<AppxPriConfigXmlDefaultSnippetPath>FILE-PATH-AND-NAME</AppxPriConfigXmlDefaultSnippetPath>

Ganti FILE-PATH-AND-NAME dengan jalur ke, dan nama, file Anda.

Opsi 2. Gunakan file proyek Anda untuk menentukan nilai kualifikasi default

Ini adalah alternatif untuk Opsi 1. Setelah Anda memahami cara kerja Opsi 1, Anda dapat memilih untuk melakukan Opsi 2 sebagai gantinya, jika itu sesuai dengan pengembangan anda dan/atau membangun alur kerja dengan lebih baik.

Dalam file proyek Anda, antara tag pembuka dan penutup dari elemen pertama <PropertyGroup> , tambahkan XML ini.

<AppxDefaultResourceQualifiers>Language=LANGUAGE-TAG(S)|Contrast=standard|Scale=200|HomeRegion=001|TargetSize=256|LayoutDirection=LTR|DXFeatureLevel=DX9|Configuration=|AlternateForm=</AppxDefaultResourceQualifiers>

Berikut adalah contoh bagaimana hal itu mungkin terlihat setelah Anda mengedit tiga nilai pertama.

<AppxDefaultResourceQualifiers>Language=de-DE|Contrast=black|Scale=400|HomeRegion=001|TargetSize=256|LayoutDirection=LTR|DXFeatureLevel=DX9|Configuration=|AlternateForm=</AppxDefaultResourceQualifiers>

Simpan dan tutup, dan bangun kembali proyek Anda.

Catatan Setiap kali Anda mengubah Language= nilai, Anda perlu menyinkronkan perubahan tersebut dengan bahasa default aplikasi Anda di perancang manifes (dengan membuka Package.appxmanifest).