Bagikan melalui


Mengatur atribut assembly dalam kode

Atribut rakitan adalah nilai-nilai yang menyediakan informasi tentang rakitan. Mereka biasanya diatur dalam file AssemblyInfo.cs . Atribut dibagi menjadi sekumpulan informasi berikut:

  • Atribut identitas perakitan
  • Atribut informasi
  • Atribut manifes perakitan
  • Atribut nama yang kuat

Artikel ini berfokus pada penambahan atribut assembly melalui kode. Untuk informasi tentang menambahkan atribut assembly ke proyek (bukan dalam kode), lihat Mengatur atribut assembly dalam file proyek.

Atribut identitas perakitan

Tiga atribut, bersama dengan nama yang kuat (jika berlaku), tentukan identitas assembly: nama, versi, dan budaya. Atribut ini membentuk nama lengkap assembly dan diperlukan saat merujuk assembly dalam kode. Anda dapat menggunakan atribut untuk menetapkan versi dan lingkungan dari sebuah assembly. Pengkompilasi atau Assembly Linker (Al.exe) mengatur nilai nama saat rakitan dibuat, berdasarkan file yang berisi manifes perakitan.

Tabel berikut menjelaskan atribut versi dan budaya.

Atribut identitas rakitan Deskripsi
AssemblyCultureAttribute Bidang enumerasi yang mengindikasikan budaya yang didukung oleh komponen. Komponen perangkat lunak juga dapat menentukan ketidakbergantungan budaya, menunjukkan bahwa ia berisi sumber daya untuk budaya bawaan. Nota: Runtime memperlakukan rakitan apa pun yang tidak memiliki atribut budaya yang diatur ke null sebagai rakitan satelit. Rakitan tersebut tunduk pada aturan pengikatan perakitan satelit. Untuk informasi selengkapnya, lihat Bagaimana runtime menemukan rakitan.
AssemblyFlagsAttribute Nilai yang menetapkan atribut rakitan, seperti apakah rakitan dapat dijalankan berdampingan.
AssemblyVersionAttribute Nilai numerik dalam format mayor.minor.build.revisi (misalnya, 2.4.0.0). Runtime Bahasa Umum menggunakan nilai ini untuk melakukan operasi binding dalam assembly dengan nama kuat. Nota: Apabila atribut AssemblyInformationalVersionAttribute tidak diterapkan pada rakitan, nomor versi yang ditentukan oleh atribut AssemblyVersionAttribute digunakan oleh properti Application.ProductVersion, Application.UserAppDataPath, dan Application.UserAppDataRegistry.

Contoh kode berikut menunjukkan cara menerapkan atribut versi dan budaya ke perakitan.

// Set version number for the assembly.
[assembly:AssemblyVersionAttribute("4.3.2.1")];
// Set culture as German.
[assembly:AssemblyCultureAttribute("de")];
// Set version number for the assembly.
[assembly:AssemblyVersionAttribute("4.3.2.1")]
// Set culture as German.
[assembly:AssemblyCultureAttribute("de")]
' Set version number for the assembly.
<Assembly:AssemblyVersionAttribute("4.3.2.1")>
' Set culture as German.
<Assembly:AssemblyCultureAttribute("de")>

Atribut informasi

Anda dapat menggunakan atribut informatif untuk memberikan informasi tambahan tentang perusahaan atau produk untuk perakitan. Tabel berikut ini menjelaskan atribut informasi yang bisa Anda terapkan ke rakitan.

Atribut informasi Deskripsi
AssemblyCompanyAttribute Nilai string yang menentukan nama perusahaan.
AssemblyCopyrightAttribute Nilai string yang menentukan informasi hak cipta.
AssemblyFileVersionAttribute Nilai string yang menentukan nomor versi file Win32. Ini biasanya default ke versi rakitan.
AssemblyInformationalVersionAttribute Nilai string yang menentukan informasi versi yang tidak digunakan oleh runtime bahasa umum, misalnya nomor versi lengkap produk. Nota: Jika atribut ini diterapkan ke rakitan, string yang ditentukannya dapat diperoleh pada runtime dengan menggunakan Application.ProductVersion properti . String juga digunakan dalam jalur dan kunci registri yang disediakan oleh properti Application.UserAppDataPath dan Application.UserAppDataRegistry.
AssemblyProductAttribute Nilai string yang menentukan informasi produk.
AssemblyTrademarkAttribute Nilai string yang menentukan informasi merek dagang.

Atribut ini dapat muncul di halaman Properti Windows dari rakitan, atau dapat ditimpa menggunakan opsi kompilator /win32res untuk menentukan file sumber daya Win32 Anda.

Atribut manifes perakitan

Anda dapat menggunakan atribut manifes perakitan untuk memberikan informasi dalam manifes perakitan, termasuk judul, deskripsi, alias default, dan konfigurasi. Tabel berikut ini menjelaskan atribut manifes perakitan.

Atribut manifestasi perakitan Deskripsi
AssemblyConfigurationAttribute Nilai string yang menunjukkan konfigurasi rakitan, seperti Ritel atau Debug. Runtime tidak menggunakan nilai ini.
AssemblyDefaultAliasAttribute Nilai string yang menentukan alias default yang akan digunakan dengan mereferensikan rakitan. Nilai ini memberikan nama yang mudah diingat ketika nama rakitan itu sendiri tidak ramah (seperti nilai GUID). Nilai ini juga dapat digunakan sebagai bentuk pendek dari nama majelis lengkap.
AssemblyDescriptionAttribute Nilai string yang menentukan deskripsi singkat yang meringkas sifat dan tujuan perakitan.
AssemblyTitleAttribute Nilai string yang menentukan nama yang mudah diingat untuk assembly. Misalnya, rakitan bernama comdlg mungkin memiliki judul Kontrol Dialog Umum Microsoft.

Atribut nama yang kuat

Anda dapat menggunakan atribut nama yang kuat untuk mengatur nama yang kuat untuk rakitan. Tabel berikut ini menjelaskan atribut nama yang kuat.

Atribut nama yang kuat Deskripsi
AssemblyDelaySignAttribute Nilai Boolean yang menunjukkan bahwa penandatanganan tertunda sedang digunakan.
AssemblyKeyFileAttribute Nilai string yang menunjukkan nama file yang berisi kunci publik (jika menggunakan penandatanganan penundaan) atau kunci publik dan privat yang diteruskan sebagai parameter ke konstruktor atribut ini. Perhatikan bahwa nama file relatif terhadap jalur file output ( .exe atau .dll), bukan jalur file sumber.
AssemblyKeyNameAttribute Menunjukkan kontainer kunci yang berisi pasangan kunci yang diteruskan sebagai parameter ke konstruktor atribut ini.

Contoh kode berikut menunjukkan atribut yang akan diterapkan saat menggunakan penandatanganan tertunda untuk membuat assembly bernama kuat dengan file kunci publik dengan nama myKey.snk.

[assembly:AssemblyKeyFileAttribute("myKey.snk")];
[assembly:AssemblyDelaySignAttribute(true)];
[assembly:AssemblyKeyFileAttribute("myKey.snk")]
[assembly:AssemblyDelaySignAttribute(true)]
<Assembly:AssemblyKeyFileAttribute("myKey.snk")>
<Assembly:AssemblyDelaySignAttribute(True)>

Lihat juga