Bagikan melalui


Penerapan versi assembly

Semua pembuatan versi assembly yang menggunakan runtime bahasa umum dilakukan di tingkat assembly. Versi spesifik dari assembly dan versi assembly dependen dicatat dalam manifes assembly. Kebijakan versi default untuk runtime adalah bahwa aplikasi hanya berjalan dengan versi yang mereka buat dan diuji dengan, kecuali diganti dengan kebijakan versi eksplisit dalam file konfigurasi (file konfigurasi aplikasi, file kebijakan penerbit, dan file konfigurasi administrator komputer).

Runtime melakukan beberapa langkah untuk menyelesaikan permintaan pengikatan assembly:

  1. Periksa referensi assembly asli untuk menentukan versi assembly yang akan diikat.

  2. Memeriksa semua file konfigurasi yang berlaku untuk menerapkan kebijakan versi.

  3. Menentukan assembly yang benar dari referensi assembly asli dan pengalihan apa pun yang ditentukan dalam file konfigurasi, dan menentukan versi yang harus terikat pada assembly panggilan.

  4. Memeriksa cache assembly global, basis kode yang ditentukan dalam file konfigurasi, lalu memeriksa direktori dan subdirektori aplikasi menggunakan aturan pemeriksaan yang dijelaskan dalam Cara runtime menemukan assembly.

Ilustrasi berikut ini menunjukkan array:

Diagram that shows steps in assembly binding request resolution.

Untuk informasi selengkapnya tentang mengonfigurasi aplikasi, lihat Mengonfigurasi aplikasi. Untuk informasi selengkapnya tentang kebijakan pengikatan, lihat Cara runtime menemukan assembly.

Informasi versi

Setiap assembly memiliki dua cara berbeda untuk mengekspresikan informasi versi:

  • Nomor versi assembly, yang, bersama dengan nama assembly dan informasi budaya, adalah bagian dari identitas assembly. Nomor ini digunakan oleh runtime untuk menegakkan kebijakan versi dan memainkan peran kunci dalam proses resolusi jenis pada waktu berjalan.

  • Versi informasi, yang merupakan string yang mewakili informasi versi tambahan yang disertakan hanya untuk tujuan informasi.

Nomor versi rakitan

Setiap assembly memiliki nomor versi sebagai bagian dari identitasnya. Dengan demikian, dua assembly yang berbeda menurut nomor versi dianggap oleh runtime sebagai assembly yang sama sekali berbeda. Nomor versi ini secara fisik direpresentasikan sebagai string empat bagian dengan format berikut:

<versi utama>.<versi minor>.<nomor build>.<Revisi>

Misalnya, versi 1.5.1254.0 menunjukkan 1 sebagai versi utama, 5 sebagai versi minor, 1254 sebagai nomor build, dan 0 sebagai nomor revisi.

Nomor versi disimpan dalam manifes assembly bersama dengan informasi identitas lainnya, termasuk nama assembly dan kunci publik, serta informasi tentang hubungan dan identitas assembly lain yang terhubung dengan aplikasi.

Ketika assembly dibangun, alat pengembangan mencatat informasi ketergantungan untuk setiap assembly yang dirujuk dalam manifes assembly. Runtime menggunakan nomor versi ini, bersama dengan informasi konfigurasi yang ditetapkan oleh administrator, aplikasi, atau penerbit, untuk memuat versi yang tepat dari assembly yang direferensikan.

Runtime membedakan antara assembly biasa dengan yang diberi nama kuat untuk tujuan pembuatan versi. Pemeriksaan versi hanya terjadi dengan assembly bernama kuat.

Untuk informasi tentang menentukan kebijakan pengikatan versi, lihat Mengonfigurasi aplikasi. Untuk informasi tentang bagaimana runtime menggunakan informasi versi untuk menemukan assembly tertentu, lihat Cara runtime menemukan assembly.

Versi informasi perakitan

Versi informasi adalah string yang melampirkan informasi versi tambahan ke assembly hanya untuk tujuan informasi; informasi ini tidak digunakan pada waktu berjalan. Versi informasi berbasis teks sesuai dengan literatur pemasaran produk, kemasan, atau nama produk dan tidak digunakan oleh runtime. Misalnya, versi informasi dapat berupa "Common Language Runtime versi 1.0" atau "NET Control SP 2". Pada tab Versi dialog properti file di Microsoft Windows, informasi ini muncul di item "Versi Produk".

Catatan

Meskipun Anda dapat menentukan teks apa pun, pesan peringatan muncul di kompilasi jika string tidak dalam format yang digunakan oleh nomor versi assembly, atau jika dalam format itu tetapi berisi wildcard. Peringatan ini tidak berbahaya.

Versi informasi diwakili menggunakan atribut kustom System.Reflection.AssemblyInformationalVersionAttribute. Untuk informasi selengkapnya tentang atribut versi informasi, lihat Mengatur atribut assembly.

Lihat juga