File Konfigurasi Penerbit
File konfigurasi penerbit adalah file XML yang secara global mengalihkan aplikasi dan rakitan dari menggunakan satu versi perakitan berdampingan ke versi lain dari rakitan yang sama. Biasanya, penerbit assembly mengeluarkan pembaruan yang kompatibel atau perbaikan keamanan berdasarkan perakitan dengan mengeluarkan file konfigurasi penerbit yang akan diinstal bersama dengan pembaruan paket layanan. Ini disebut sebagai konfigurasi penerbit. Untuk informasi selengkapnya tentang jenis konfigurasi ini, lihat Konfigurasi Penerbit.
File konfigurasi penerbit memiliki elemen dan atribut berikut. Untuk daftar lengkap skema XML, lihat Skema File Konfigurasi Penerbit.
Elemen | Atribut | Diperlukan |
---|---|---|
Majelis | Ya | |
manifestVersion | Ya | |
assemblyIdentity | Ya | |
jenis | Ya | |
nama | Ya | |
bahasa | Tidak | |
processorArchitecture | Tidak | |
versi | Ya | |
Publickeytoken | Tidak | |
Ketergantungan | Tidak | |
dependentAssembly | Tidak | |
bindingRedirect | Ya | |
oldVersion | Ya | |
newVersion | Ya |
Lokasi File
File konfigurasi penerbit harus diinstal di folder WinSxS. File ini biasanya diinstal sebagai file terpisah tetapi file konfigurasi penerbit juga dapat disertakan sebagai sumber daya dalam DLL. File konfigurasi penerbit tidak dapat disertakan sebagai sumber daya dalam file EXE. File EXE dapat menyertakan manifes aplikasi sebagai sumber daya.
Sintaks Nama File
Nama file file konfigurasi penerbit memiliki kebijakan formulir. jurusan utama. anak di bawah umur. assemblyname di mana mayor dan minor mengacu pada bagian utama dan minor dari versi assembly yang sedang terpengaruh. Assemblyname mengacu pada nama assembly.
Misalnya, file konfigurasi penerbit untuk versi 6.0 dari rakitan Microsoft.Windows.Common-Controls akan memiliki nama berikut:
- policy.6.0.Microsoft.Windows.Common-Controls
Jangan gunakan file konfigurasi kebijakan untuk menaikkan versi utama atau minor dari assembly. Misalnya, jangan alihkan versi 6.0.0.0 ke 7.0.0.0 atau 6.1.0.0. Saat aplikasi mereferensikan versi rakitan, seperti 6.0.0.0, pemeriksaan berdampingan untuk keberadaan file konfigurasi kebijakan apa pun dengan versi utama dan minor yang ditentukan, misalnya 6.0. Aplikasi kemudian dialihkan ke versi rakitan lain, misalnya 6.0.1.0. Jika file konfigurasi penerbit meningkatkan versi utama atau minor dari rakitan, pengalihan perakitan berikutnya mungkin memerlukan penerbitan beberapa file konfigurasi kebijakan.
Elemen
-
Majelis
-
Elemen kontainer. Subelemen pertamanya harus merupakan assemblyIdentity. Wajib diisi.
Elemen assembly harus berada di namespace urn:schemas-microsoft-com:asm.v1. Elemen anak dari assembly juga harus berada di namespace layanan ini, dengan warisan atau dengan pemberian tag.
Elemen assembly memiliki atribut berikut.
Atribut Deskripsi manifestVersion Atribut manifestVersion harus diatur ke 1.0. -
assemblyIdentity
-
Menjelaskan dan secara unik mengidentifikasi perakitan berdampingan.
Sebagai subelemen pertama dari elemen assembly , assemblyIdentity menjelaskan perakitan berdampingan yang mengubah satu atau beberapa dependensi perakitannya. File konfigurasi penerbit mengalihkan dependensi perakitan yang diidentifikasi. Misalnya, assemblyIdentity berikut menunjukkan bahwa file konfigurasi penerbit memengaruhi dependensi rakitan x86 Microsoft.Windows.Pop 6.0.0.0.
<assemblyIdentity type="win32-policy" publicKeyToken="0000000000000000" name="policy.6.0.Microsoft.Windows.Pop" version="2.1.0.0" processorArchitecture="x86"/>
Sebagai subelemen pertama dari elemen dependentAssembly , assemblyIdentity menjelaskan dependensi perakitan berdampingan. File konfigurasi penerbit mengonfigurasi ulang identitas perakitan berdampingan yang diperlukan ini. Perubahan ditentukan dalam bindingRedirect. Misalnya, assemblyIdentity berikut mengubah dependensi apa pun pada Microsoft.Windows.SampleAssembly versi 2.0.0.0 ke dependensi pada Microsoft.Windows.SampleAssembly versi 2.0.1.0.
<dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.SampleAssembly" processorArchitecture="x86" publicKeyToken="0000000000000000"/> <bindingRedirect oldVersion="2.0.0.0" newVersion="2.0.1.0"/> </dependentAssembly> </dependency>
Elemen assemblyIdentity memiliki atribut berikut. Ini tidak memiliki sub-elemen.
Atribut Deskripsi jenis Menentukan jenis rakitan. Wajib diisi. Dalam assemblyIdentity untuk perakitan yang terpengaruh, nilai atribut jenis harus diatur ke win32-policy. Nilai win32-policy harus dalam semua huruf kecil.
Dalam assemblyIdentity untuk mengubah dependensi assembly, nilai atribut jenis harus diatur ke win32. Nilai win32 harus dalam huruf kecil semua.nama Secara unik menamai perakitan. Wajib diisi. Dalam assemblyIdentity untuk perakitan yang terpengaruh, nama memiliki kebijakan formulir. jurusan utama. anak di bawah umur. assemblyname di mana mayor dan minor mengacu pada bagian utama dan minor dari versi assembly.
Dalam assemblyIdentity untuk dependensi perakitan yang berubah, nama memiliki formulir Organization.Division.Name. Misalnya, Microsoft.Windows.MysampleApp.bahasa Mengidentifikasi bahasa assembly. Opsional. Dalam assemblyIdentity untuk assembly yang terpengaruh, jika assembly spesifik bahasa, tentukan kode bahasa DHTML. Jika assembly adalah untuk penggunaan di seluruh dunia (netral bahasa), hilangkan atribut ini.
Dalam assemblyIdentity untuk mengubah dependensi assembly, jika assembly spesifik bahasa, tentukan kode bahasa DHTML. Jika assembly adalah untuk penggunaan di seluruh dunia (bahasa netral) tetapkan nilai sebagai "*".processorArchitecture Menentukan prosesor yang menjalankan aplikasi. versi Menentukan versi assembly. Gunakan sintaks versi empat bagian: mmmm.nnnn.oooo.pppp Diperlukan hanya dalam rakitan konteks DEFIdentity. Jangan tentukan atribut versi dalam assemblyIdentity konteks REF. Publickeytoken String heksadesimal 16 karakter yang mewakili 8 byte terakhir dari hash SHA-1 dari kunci publik tempat perakitan ditandatangani. Kunci umum yang digunakan untuk menandatangani katalog harus 2048 bit atau lebih besar. PublicKeyToken diperlukan untuk semua rakitan bersama berdampingan. PublicKeyToken yang digunakan untuk file konfigurasi penerbit harus menjadi kunci yang sama yang digunakan untuk rakitan yang ditandatangani. File konfigurasi penerbit dapat ditandatangani menggunakan alat yang sama seperti yang digunakan dengan rakitan, lihat Contoh Penandatanganan Rakitan dan Membuat File dan Katalog yang Ditandatangani. -
Ketergantungan
-
Elemen kontainer opsional untuk setidaknya satu dependentAssembly. Elemen ini tidak memiliki atribut.
-
dependentAssembly
-
Setiap dependentAssembly harus berada di dalam tepat satu dependensi. DependentAssembly tidak memiliki atribut. Subelemen pertama dependentAssembly harus merupakan assemblyIdentity untuk perakitan berdampingan yang dikonfigurasi ulang oleh konfigurasi penerbit.
-
bindingRedirect
-
Elemen bindingRedirect berisi informasi pengalihan untuk pengikatan assembly.
Elemen ini memiliki atribut yang ditunjukkan dalam tabel berikut.
Atribut Deskripsi oldVersion Menentukan versi rakitan yang ditimpa dan dialihkan. Gunakan sintaks versi empat bagian nnnnn.nnnnn.nnnnn.nnnnn. Tentukan rentang versi dengan tanda hubung tanpa spasi. Misalnya, 2.14.3.0 atau 2.14.3.0 2.16.0.0. Wajib diisi. newVersion Menentukan versi rakitan pengganti. Gunakan sintaks versi empat bagian nnnnn.nnnnn.nnnnn.nnnnn.
Keterangan
File konfigurasi penerbit tidak menentukan file. Perhatikan bahwa file kebijakan khusus bahasa terpisah dari file konfigurasi penerbit.
Contoh
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32-policy" publicKeyToken="0000000000000000" name="policy.6.0.Proseware.Research.SampleAssembly" version="1.0.1.0" language="en-us" processorArchitecture="x86"/>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" publicKeyToken="0000000000000000" name="Proseware.Research.SampleAssembly" language="en-us" processorArchitecture="x86"/>
<bindingRedirect oldVersion="1.0.0.0" newVersion="1.0.1.0"/>
</dependentAssembly>
</dependency>
</assembly>