Al.exe (Assembly Linker)

Assembly Linker menghasilkan file yang memiliki manifes assembly dari satu atau beberapa file yang merupakan modul atau file sumber daya. Modul adalah file bahasa perantara (IL) yang tidak memiliki manifes assembly.

Catatan

Dimulai dengan Visual Studio 2008, pengkompilasi C# dan Visual Basic secara otomatis menyematkan manifes Win32 ke dalam assembly. Untuk informasi selengkapnya, lihat -win32manifest (Opsi Pengompilasi C#).

Alat ini otomatis terpasang dengan Visual Studio. Untuk menjalankan alat, gunakan Prompt Perintah Pengembang Visual Studio atau PowerShell Pengembang Visual Studio.

Pada perintah, masukkan berikut ini:

Sintaks

al sources options

Parameter

Anda dapat menentukan satu atau beberapa sources berikut ini.

Sumber Deskripsi
file[,target] Menyalin konten file (modul) ke nama file yang ditentukan oleh target. Setelah menyalin, Al.exe mengompilasi target ke dalam assembly.
/embed[resource]:file[,name[,private]] Menyematkan sumber daya yang ditentukan oleh file dalam gambar yang berisi manifes assembly; Al.exe menyalin konten file ke dalam gambar portable executable (PE).

Parameter name adalah pengidentifikasi internal untuk sumber daya. Secara default, sumber daya bersifat publik di assembly (terlihat oleh assembly lain). Menentukan private membuat sumber daya tidak terlihat oleh assembly lain.

Jika file adalah file sumber daya .NET Framework yang dibuat, misalnya, oleh Resource File Generator (Resgen.exe) atau di lingkungan pengembangan, file tersebut dapat diakses dengan anggota di System.Resources. Untuk informasi selengkapnya, lihat ResourceManager . Untuk semua sumber daya lainnya, gunakan metode GetManifestResource* di kelas Assembly untuk mengakses sumber daya pada durasi.

Jika hanya file sumber daya yang diteruskan ke Al.exe, file output adalah assembly sumber daya satelit.
/link[resource]:file[,name[,target[,private]]] Menautkan file sumber daya ke assembly. Sumber daya yang spesifik oleh file menjadi bagian dari assembly, file tersebut tidak disalin. Parameter file dapat dalam format file apa pun. Misalnya, Anda dapat menentukan DLL asli sebagai parameter file. Misalnya, Anda mungkin ingin membuat bagian DLL asli dari assembly, sehingga dapat dipasang ke dalam assembly cache global dan diakses dari kode terkelola di assembly. Anda juga dapat melakukan ini dengan menggunakan opsi kompilator /linkresource. Untuk informasi selengkapnya, lihat -linkresource (Opsi Pengompilasi C#).

Parameter name adalah pengidentifikasi internal untuk sumber daya. Parameter target menentukan jalur dan nama file tempat Al.exe menyalin file. Setelah menyalin, Al.exe mengompilasi target ke dalam assembly. Secara default, sumber daya bersifat publik di assembly (terlihat oleh assembly lain). Menentukan private membuat sumber daya tidak terlihat oleh assembly lain.

Jika file adalah file sumber daya .NET Framework yang dibuat, misalnya, oleh Resource File Generator (Resgen.exe) atau di lingkungan pengembangan, file tersebut dapat diakses dengan anggota di namespace System.Resources. Untuk informasi selengkapnya, lihat ResourceManager . Untuk semua sumber daya lainnya, gunakan metode GetManifestResource* di kelas Assembly untuk mengakses sumber daya pada durasi.

Jika hanya file sumber daya yang diteruskan ke Al.exe, file output adalah assembly sumber daya satelit.

Anda dapat menentukan options berikut; Anda harus menentukan /out.

Opsi Deskripsi
/algid:id Menentukan algoritma untuk melakukan hash pada semua file dalam assembly multifile kecuali file yang berisi manifes assembly. Algoritma default adalah CALG_SHA1. Lihat ALG_ID dalam dokumentasi Platform SDK untuk algoritma lain. Untuk rilis pertama .NET Framework, hanya CALG_SHA1 dan CALG_MD5 yang valid.

Nilai hash disimpan dalam tabel file manifes assembly. Pada waktu penginstalan dan pemuatan, file assembly diperiksa terhadap hash mereka.

Anda juga dapat menentukan opsi ini sebagai atribut kustom (AssemblyAlgorithmIdAttribute) dalam kode sumber untuk setiap modul MSIL.
/base[address]:addr Menentukan alamat di mana DLL akan dimuat pada komputer pengguna selama waktu pelaksanaan. Aplikasi dimuat lebih cepat jika Anda menentukan alamat dasar DLL, daripada membiarkan sistem operasi merelokasi DLL di ruang proses.
/bugreport: filename Membuat file (filename) yang berisi informasi untuk melaporkan bug.
/comp[any]:text Menentukan string untuk bidang Perusahaan dalam assembly. Tempatkan string dalam tanda kutip ganda (" ") jika text berisi spasi. String ini adalah atribut kustom pada assembly dan tersedia untuk dilihat dengan pantulan.

Jika Anda tidak menentukan /win32res, text muncul di File Explorer sebagai properti Company untuk file. Jika Anda menentukan /win32res, informasi perusahaan dalam file sumber daya yang ditentukan muncul sebagai properti Company di File Explorer.

Jika teks adalah string kosong (""), sumber daya Company Win32 muncul sebagai spasi tunggal.

Jika Anda menentukan /win32res, /company tidak akan memengaruhi informasi sumber daya Win32.

Anda juga dapat menentukan opsi ini sebagai atribut kustom (AssemblyCompanyAttribute) dalam kode sumber untuk modul CIL apa pun.
/config[uration]:text Menentukan string untuk bidang Konfigurasi dalam assembly. Tempatkan string dalam tanda kutip ganda (" ") jika text berisi spasi. String ini adalah atribut kustom pada assembly dan tersedia untuk dilihat dengan pantulan.

Jika teks adalah string kosong (""), sumber daya Konfigurasi Win32 muncul sebagai spasi tunggal.

Anda juga dapat menentukan opsi ini sebagai atribut kustom (AssemblyConfigurationAttribute) dalam kode sumber untuk modul CIL apa pun.
/copy[right]:text Menentukan string untuk bidang Hak Cipta dalam assembly. Tempatkan string dalam tanda kutip ganda (" ") jika text berisi spasi. String ini adalah atribut kustom pada assembly dan tersedia untuk dilihat dengan pantulan.

Jika Anda tidak menentukan /win32res, /copyright muncul di File Explorer sebagai sumber daya Hak Cipta Win32.

Jika teks adalah string kosong (""), sumber daya Hak Cipta Win32 muncul sebagai spasi tunggal.

Jika Anda menentukan /win32res, /company tidak akan memengaruhi informasi sumber daya Win32.

Anda juga dapat menentukan opsi ini sebagai atribut kustom (AssemblyCopyrightAttribute) dalam kode sumber untuk modul CIL apa pun.
/c[ulture]:text Menentukan string kultur yang akan dikaitkan dengan assembly. Nilai yang valid untuk budaya adalah nilai yang ditentukan oleh dokumen Permintaan Internet untuk Komentar (RFC) 1766 berjudul "Tag untuk Identifikasi Bahasa."

Tempatkan string dalam tanda kutip ganda (" ") jika text berisi spasi. Tidak ada string kultur default. String ini tersedia untuk dilihat dengan pantulan.

Untuk informasi tentang string text yang valid, lihat CultureInfo.

Anda juga dapat menentukan opsi ini sebagai atribut kustom (AssemblyCultureAttribute) dalam kode sumber untuk modul CIL apa pun.
/delay[sign][+ or -] Menentukan apakah rakitan akan ditandatangani sepenuhnya atau sebagian. Gunakan DelaySign- jika Anda ingin assembly yang ditandatangani sepenuhnya. Gunakan DelaySign jika Anda hanya ingin menempatkan kunci publik di assembly.

Saat meminta assembly yang ditandatangani sepenuhnya, AI.exe membuat hash file yang berisi manifes (metadata assembly) dan menandatangani hash tersebut dengan kunci privat. Tanda tangan digital yang dihasilkan disimpan dalam file yang berisi manifes. Ketika assembly tertunda ditandatangani, Al.exe tidak menghitung dan menyimpan tanda tangan, tetapi hanya mencadangkan ruang dalam file sehingga tanda tangan dapat ditambahkan nanti.

Defaultnya adalah /delaysign-.

Opsi /delaysign tidak berpengaruh kecuali digunakan dengan /keyfile atau /keyname.

Sebagai contoh, menggunakan /delaysign+ memungkinkan penguji untuk menempatkan assembly di cache global. Setelah pengujian, Anda dapat sepenuhnya menandatangani assembly dengan menyertakan kunci privat di assembly.

Catatan: Sebelum menggunakan Gacutil.exe (Global Assembly Cache Tool) untuk menempatkan assembly yang ditandatangani sebagai penundaan ke dalam cache global, gunakan Sn.exe (Alat Nama Kuat) untuk mendaftarkan assembly untuk melompati verifikasi. Contohnya,Sn.exe –Vr delaySignedAssembly. Gunakan ini hanya untuk pengembangan.

Anda juga dapat menentukan opsi ini sebagai atribut kustom (AssemblyDelaySignAttribute) dalam kode sumber untuk modul CIL apa pun.
/descr[iption]:text Menentukan string untuk bidang Description dalam assembly. Tempatkan string dalam tanda kutip ganda (" ") jika text berisi spasi. String ini adalah atribut kustom pada assembly dan tersedia untuk dilihat dengan pantulan.

Jika Anda tidak menentukan /win32res, /description muncul di File Explorer sebagai sumber daya Komentar Win32.

Jika teks adalah string kosong, sumber daya Komentar Win32 muncul sebagai spasi tunggal.

Jika Anda menentukan /win32res, /description tidak akan memengaruhi informasi sumber daya Win32.

Anda juga dapat menentukan opsi ini sebagai atribut kustom (Description) dalam kode sumber untuk modul CIL apa pun.
/e[vidence]:file Menyematkan file di assembly dengan nama sumber daya Security.Evidence.

Anda tidak dapat menggunakan Security.Evidence untuk sumber daya reguler.
/fileversion:version Menentukan string untuk bidang Versi File di assembly. String ini adalah atribut kustom pada assembly dan tersedia untuk dilihat dengan pantulan.

Jika Anda tidak menentukan /win32res, /fileversion akan digunakan sebagai sumber daya Versi File Win32. Jika Anda tidak menentukan /fileversion, sumber daya Versi File Win32 akan diisi oleh sumber daya Versi Assembly Win32.

Jika /win32res ditentukan, /fileversion tidak memengaruhi sumber daya Win32.

Anda juga dapat menentukan opsi ini sebagai atribut kustom (AssemblyFileVersionAttribute) dalam kode sumber untuk modul CIL apa pun.
/flags:flags Menentukan nilai untuk bidang Flags dalam assembly. Nilai yang mungkin untuk flags:

0x0000
Assembly ini kompatibel secara berdampingan.

0x0010
Menentukan bahwa assembly tidak dapat dijalankan dengan versi lain jika berjalan di domain aplikasi yang sama.

0x0020
Menentukan bahwa assembly tidak dapat dijalankan dengan versi lain jika berjalan di proses yang sama.

0x0030
Menentukan bahwa assembly tidak dapat dijalankan dengan versi lain jika berjalan di komputer yang sama.

Anda juga dapat menentukan opsi ini sebagai atribut kustom (AssemblyFlagsAttribute) dalam kode sumber untuk modul CIL apa pun.
/fullpaths Menyebabkan AI.exe menggunakan jalur absolut untuk file apa pun yang dilaporkan dalam pesan kesalahan.
/help Menampilkan sintaks perintah dan opsi untuk alat ini.
/keyf[ile]:filename Menentukan file (filename) yang berisi pasangan kunci atau kunci umum saja untuk menandatangani assembly. Pengompilasi menyisipkan kunci umum dalam manifes assembly lalu menandatangani assembly akhir dengan kunci privat. Lihat Alat Nama Kuat (Sn.exe) untuk informasi tentang menghasilkan file kunci dan menginstal pasangan kunci ke dalam kontainer utama.

Jika Anda menggunakan penandatanganan tertunda, file ini biasanya akan memiliki kunci umum tetapi bukan kunci privat.

Informasi kunci umum (dari pasangan kunci) muncul di bidang .publickey assembly.

Anda juga dapat menentukan opsi ini sebagai atribut kustom (AssemblyKeyFileAttribute) dalam kode sumber untuk modul CIL apa pun.

Jika /keyfile dan /keyname ditentukan (baik berdasarkan opsi baris perintah atau dengan atribut kustom) dalam kompilasi yang sama, Al.exe akan terlebih dahulu mencoba kontainer yang ditentukan dengan /keyname. Jika kontainer kunci berhasil, maka assembly ditandatangani dengan informasi di kontainer kunci. Jika AI.exe tidak menemukan kontainer kunci, kompilator akan mencoba file yang ditentukan dengan /keyfile. Jika ini berhasil, assembly ditandatangani dengan informasi dalam file kunci, dan informasi kunci diinstal di kontainer kunci (mirip dengan opsi -i dalam Sn.exe) sehingga pada kompilasi berikutnya, opsi /keyname akan valid.
/keyn[ame]:text Menentukan kontainer yang menampung pasangan kunci. Parameter ini akan menandatangani assembly (memberi nama yang kuat) dengan memasukkan kunci umum ke dalam manifes assembly. Al.exe kemudian akan menandatangani assembly akhir dengan kunci privat.

Gunakan Sn.exe untuk menghasilkan pasangan kunci.

Informasi utama muncul di bidang .publickey dari assembly.

Tempatkan text dalam tanda kutip ganda (" ") jika ada ruang yang disematkan.

Anda juga dapat menentukan opsi ini sebagai atribut kustom (AssemblyKeyNameAttribute) dalam kode sumber untuk modul CIL apa pun.
/main:method Menentukan nama yang sepenuhnya memenuhi syarat (class.method) dari metode yang akan digunakan sebagai titik masuk saat mengonversi modul menjadi file yang dapat dieksekusi.
/nologo Menekan banner, atau logo, yang ditampilkan di baris perintah saat Anda memanggil Al.exe.
/out:filename Menentukan nama file yang dihasilkan oleh Al.exe. Opsi ini wajib diisi.
/platform:text Membatasi platform mana yang dapat dijalankan kode ini; harus salah satu dari x86, Itanium, x64, anycpu (default), atau anycpu32bitpreferred.
/prod[uct]:text Menentukan string untuk bidang Produk di assembly. Tempatkan string dalam tanda kutip ganda (" ") jika text berisi spasi. String ini adalah atribut kustom pada assembly dan tersedia untuk dilihat dengan pantulan.

Jika Anda tidak menentukan /win32res, /product muncul di File Explorer sebagai sumber daya Nama Produk Win32.

Jika teks adalah string kosong, sumber daya Komentar Win32 muncul sebagai spasi tunggal.

Jika Anda menentukan /win32res, /product tidak akan memengaruhi informasi sumber daya Win32.

Anda juga dapat menentukan opsi ini sebagai atribut kustom (AssemblyProductAttribute) dalam kode sumber untuk modul CIL apa pun.
/productv[ersion]:text Menentukan string untuk bidang Versi Produk di assembly. Tempatkan string dalam tanda kutip ganda (" ") jika text berisi spasi. String ini adalah atribut kustom pada assembly dan tersedia untuk dilihat dengan pantulan.

Jika Anda tidak menentukan /win32res, /productversion akan digunakan sebagai sumber daya Versi Produk Win32. Jika Anda tidak menentukan /productversion, sumber daya Versi Produk Win32 akan diisi oleh sumber daya Versi File Win32.

Jika Anda menentukan /win32res, /productversion tidak akan memengaruhi informasi sumber daya Win32.

Anda juga dapat menentukan opsi ini sebagai atribut kustom (AssemblyInformationalVersionAttribute) dalam kode sumber untuk modul CIL apa pun.
/t[arget]:lib[rary] | exe | win[exe] Menentukan format file output: lib[rary] (pustaka kode), exe (aplikasi konsol), atau win[exe] (aplikasi berbasis Windows). Default adalah lib[rary].
/template:filename Menentukan assembly, filename, untuk mendapatkan warisan semua metadata assembly, kecuali bidang kultur.

Assembly yang Anda buat dengan /template akan menjadi assembly satelit.
/title:text Menentukan string untuk bidang Judul dalam assembly. Tempatkan string dalam tanda kutip ganda (" ") jika text berisi spasi. String ini adalah atribut kustom pada assembly dan tersedia untuk dilihat dengan pantulan.

Jika Anda tidak menentukan /win32res, /title muncul di File Explorer sebagai sumber daya Deskripsi Win32, yang digunakan oleh shell sebagai nama aplikasi yang ramah. Ini juga ditampilkan pada submenu Buka Dengan dari menu pintasan untuk jenis file yang memiliki beberapa aplikasi pendukung.

Jika teks adalah string kosong, sumber daya Deskripsi Win32 muncul sebagai spasi tunggal.

Jika Anda menentukan /win32res, /title tidak akan memengaruhi informasi sumber daya Win32.

Anda juga dapat menentukan opsi ini sebagai atribut kustom (AssemblyTitleAttribute) dalam kode sumber untuk modul CIL apa pun.
/trade[mark]:text Menentukan string untuk bidang Merek Dagang di assembly. Tempatkan string dalam tanda kutip ganda (" ") jika text berisi spasi. String ini adalah atribut kustom pada assembly dan tersedia untuk dilihat dengan pantulan.

Jika Anda tidak menentukan /win32res, /trademark muncul di File Explorer sebagai sumber daya Merek Dagang Win32.

Jika teks adalah string kosong, sumber daya Merek Dagang Win32 muncul sebagai spasi tunggal.

Jika Anda menentukan /win32res, /trademark tidak akan memengaruhi informasi sumber daya Win32.

Anda juga dapat menentukan opsi ini sebagai atribut kustom (AssemblyTrademarkAttribute) dalam kode sumber untuk modul CIL apa pun.
/v[ersion]:version Menentukan informasi versi untuk assembly ini. Format string versi adalah major.minor.build.revision. Nilai defaultnya adalah 0.

Jka Anda menentukan /version, Anda harus menentukan major. Jika Anda menentukan major dan minor, Anda dapat menentukan tanda bintang (*) untuk build. Hal ini menyebabkan build sama dengan jumlah hari sejak 1 Januari 2000, waktu setempat, dan revision sama dengan jumlah detik sejak tengah malam hari saat ini, waktu setempat, dibagi 2.

Jika Anda menentukan major, minor, dan build, Anda dapat menentukan tanda bintang (*) untuk revision. Hal ini menyebabkan revision sama dengan jumlah detik sejak tengah malam hari ini, waktu setempat, dibagi 2.

Untuk meringkas, string versi yang valid adalah sebagai berikut:

X

X.X

X.X.*

X.X.X

X.X.X.*

X.X.X.X

di mana X adalah konstanta pendek yang tidak ditandatangani kecuali 65535 (0-65534).

Jika Anda tidak menentukan /win32res, /version akan digunakan sebagai sumber daya Versi Assembly Win32.

Jika Anda tidak menentukan /win32res, /productversion, dan /fileversion, /version akan digunakan untuk Versi Assembly, Versi File, dan Versi Produk Win32.

Jika Anda menentukan /win32res, /version tidak akan memengaruhi informasi sumber daya Win32.

Anda juga dapat menentukan opsi ini sebagai atribut kustom (AssemblyVersionAttribute) dalam kode sumber untuk modul CIL apa pun.
/win32icon:filename Menyisipkan file .ico dalam assembly. File .ico memberikan tampilan yang diinginkan kepada file output dalam File Explorer.
/win32res:filename Menyisipkan sumber daya Win32 (file .res) dalam file output. File sumber daya Win32 dapat dibuat dengan menggunakan Pengompilasi Sumber Daya. Pengompilasi Sumber Daya dipanggil saat Anda mengkompilasi program Visual C ++; file .res dibuat dari file .rc.
@filename Menentukan file respons yang berisi perintah Al.exe.

Perintah dalam file respons dapat muncul satu per baris atau pada baris yang sama, dipisahkan oleh satu atau beberapa spasi.
/? Menampilkan sintaks perintah dan opsi untuk alat ini.

Keterangan

Semua pengompilasi Visual Studio menghasilkan assembly. Namun, jika Anda memiliki satu atau beberapa modul (metadata tanpa manifes), Anda dapat menggunakan Al.exe untuk membuat assembly dengan manifes dalam file terpisah.

Untuk menginstal assembly di cache, hapus assembly dari cache, atau cantumkan konten cache, gunakan Global Assembly Cache Tool (Gacutil.exe).

Kesalahan dan peringatan

Tabel berikut mencantumkan kesalahan yang dihasilkan oleh Al.exe.

Kesalahan Deskripsi
al1001 Kesalahan pengompilasi internal

Cobalah untuk menentukan apakah AI.exe gagal karena ketidakmampuannya untuk mengurai sintaks yang tidak terduga. Kemudian, hubungi Layanan Dukungan Produk Microsoft.
al1002 Kehabisan memori

Al.exe kehabisan memori dan berhenti. Tingkatkan jumlah memori yang tersedia.
al1003 Opsi pengompilasi 'compiler_option' harus diikuti dengan argumen

Al.exe mengharapkan argumen diteruskan ke opsi baris perintah. Misalnya, jika Anda menentukan /algid:, Anda harus melewati pengidentifikasi algoritma.
al1004 Kesalahan inisialisasi runtime bahasa umum yang tidak terduga — 'reason'

Al.exe melaporkan kesalahan dengan penginstalan Visual Studio atau runtime bahasa umum karena alasan yang ditentukan.
al1005 File 'file' terlalu besar untuk dibuka

Semua file yang dibuka oleh Al.exe harus lebih kecil dari 4 gigabyte (GB).
al1006 File respons 'file' sudah disertakan

File respons yang sama ditentukan (@file) lebih dari sekali pada baris perintah. File respons hanya dapat disertakan sekali.
al1007 Kesalahan saat membuka file respons 'file' — 'reason'

Al.exe tidak dapat membuka file respons yang ditentukan karena alasan yang ditentukan.
al1008 Spesifikasi file yang hilang untuk opsi baris perintah 'option'

Al.exe mengharapkan file diteruskan ke opsi baris perintah. Misalnya, jika Anda menentukan opsi /out, Anda harus menentukan file.
al1009 Tidak dapat membuka 'file' untuk menulis

Al.exe tidak dapat menulis ke file, seperti file assembly output. Disk mungkin penuh, file mungkin baca-saja, atau Anda mungkin tidak memiliki izin ke file.
al1010 Kesalahan sintaksis baris perintah: Tidak ada 'text' untuk opsi 'option'

Al.exe mengharapkan argumen diteruskan ke opsi baris perintah. Misalnya, jika Anda menentukan opsi /title, Anda harus meneruskan string.
al1011 File 'file' adalah file yang dapat dieksekusi dan tidak dapat dibuka sebagai file teks

File biner ditentukan di mana file teks diharapkan. Misalnya, kesalahan ini terjadi jika file biner diteruskan pada baris perintah sebagai file respons.
al1012 'value' bukan pengaturan yang valid untuk opsi 'option'

Nilai tak terduga diteruskan ke opsi baris perintah. Misalnya, kesalahan ini terjadi jika Anda menentukan nilai yang tidak valid ke opsi /target.
al1013 Opsi baris perintah yang tidak dikenal: 'option'

Opsi baris perintah tidak valid ditentukan.
al1014 Kesalahan inisialisasi tak terduga — 'reason'

Al.exe mendeteksi kegagalan inisialisasi COM. Ini mungkin disebabkan oleh kurangnya memori, tetapi penyebab yang lebih mungkin adalah file DLL sistem. Anda akan melihat kesalahan serupa jika menjalankan program Automation-aware atau COM-aware, seperti Microsoft Visual Studio.

Instal ulang sistem operasi.
al1015 Tidak dapat menemukan file pesan 'alinkui.dll'

Al.exe memerlukan Alinkui.dll. Pastikan file ini ada di jalur Anda. Jika perlu, salin dari CD produk.
al1016 Tidak ada file input valid yang spesifik

Al.exe memerlukan satu atau beberapa file input yang tidak memiliki informasi assembly.
al1017 Tidak ada nama file target yang spesifik

Opsi /out yang diperlukan yang menentukan nama file target hilang.
al1018 File 'file' yang diperlukan tidak dapat dimuat

File DLL tertentu tidak dapat dimuat. Instal ulang Visual Studio atau SDK Windows.
al1019 Kegagalan metadata saat membuat assembly—alasan

Pembuatan assembly terganggu karena alasan yang ditentukan. Misalnya, kesalahan ini terjadi jika file yang Anda tentukan dengan opsi /win32res tidak ditemukan.
al1020 Mengabaikan assembly 'file' yang disertakan

File input yang berisi assembly ditentukan. File input Al.exe tidak boleh berisi assembly.
al1021 'setting' : mengesampingkan pengaturan sebelumnya

Modul memiliki nilai untuk pengaturan tertentu, mungkin ditetapkan melalui atribut kustom, yang ditimpa dengan nilai yang diteruskan menggunakan opsi baris perintah Al.exe.
al1022 Kesalahan saat membaca 'file' sumber daya yang disematkan—alasan

Al.exe tidak dapat membaca file yang diteruskan ke opsi /embedresource karena alasan yang ditentukan.
al1023 Kesalahan menyematkan sumber daya 'file'—alasan

Sistem operasi tidak dapat menyematkan file sumber daya dalam assembly karena alasan yang ditentukan.
al1025 Rekaman ComType 'record' menunjuk ke rekaman file 'record' yang tidak valid

Metadata dalam modul input tidak valid. Alat yang menghasilkan modul harus diperbaiki.
al1026 Versi 'version' yang ditentukan tidak valid

Lihat informasi tentang opsi /version untuk format yang valid.
al1028 File kunci 'file' tidak memiliki kunci privat yang diperlukan untuk penandatanganan

File kunci yang hanya berisi kunci umum diteruskan ke opsi /keyfile. Gunakan Strong Name Tool (Sn.exe) untuk menghasilkan file yang memiliki kunci publik dan privat, seperti yang ditunjukkan pada perintah berikut.

sn -k keypair.snk.
al1029 Nama kontainer kunci 'container' tidak ada

Nilai yang diteruskan ke opsi /keyname bukan kontainer yang valid. Gunakan Strong Name Tool (Sn.exe) untuk membuat kontainer.
al1030 Layanan kriptografi tidak diinstal dengan benar atau tidak memiliki penyedia kunci yang sesuai

Anda mungkin harus menginstal ulang sistem operasi atau menginstal beberapa utilitas kriptografi yang digunakan untuk membuat kunci.
al1031 Kesalahan membaca ikon 'file'—alasan

Al.exe tidak dapat membaca file yang diteruskan ke opsi /win32icon karena alasan yang ditentukan
al1032 Kesalahan menghasilkan sumber daya untuk 'file'—alasan

Al.exe tidak dapat membuat file karena ruang disk tidak cukup atau beberapa kesalahan lainnya. Kesalahan ini terjadi ketika Anda menentukan opsi /win32icon (yang menghasilkan file .ico) atau tidak menentukan opsi /win32res (yang menghasilkan file yang memiliki informasi sumber daya).

Jika Anda tidak dapat mengatasi masalah pembuatan file, gunakan /win32res, yang menentukan file yang dapat berisi informasi versi atau bitmap (ikon).
al1033 Atribut kustom assembly 'attribute' ditentukan beberapa kali dengan nilai yang berbeda

Nilai yang berbeda diteruskan ke dua kemunculan atribut kustom yang sama dalam modul sumber yang ditentukan sebagai input ke Al.exe.
al1034 Assembly 'file' tidak dapat disalin atau diganti namanya

Saat menggunakan sintaks Al.exe yang memungkinkan Anda menentukan file input dan menyalinnya, konflik nama muncul yang menghentikan pengompilasi. Misalnya, kesalahan ini terjadi jika Anda menentukan input.dll,somename.dll /out:somename.dll.
al1035 Pustaka tidak boleh memiliki titik masuk

Anda tidak dapat menentukan opsi /target:lib (default) dan opsi /main.
al1036 Titik masuk diperlukan untuk aplikasi yang dapat dieksekusi

Saat menggunakan opsi /target:exe atau /target:win, Anda juga harus menentukan opsi /main.
al1037 Tidak dapat menemukan metode titik masuk 'main'

Al.exe tidak dapat menemukan Main metode di lokasi yang ditentukan oleh opsi /main.
al1039 Inisialisasi manajer cache assembly global gagal—alasan

Instal ulang Visual Studio atau SDK Windows.
al1040 Gagal menginstal assembly ke dalam cache—alasan

Hanya assembly yang ditandatangani yang dapat diinstal ke dalam cache. Untuk informasi selengkapnya, lihat Cache Assembly Global.
al1041 'method': tidak boleh berupa titik masuk karena tanda tangan atau visibilitas salah, atau bersifat generik

Metode ditentukan dengan opsi /main, tetapi metode tersebut tidak statis, tidak mengembalikan int atau void, bersifat generik, atau memiliki argumen yang tidak valid.
al1042 'exe': EXE tidak dapat ditambahkan modul

File .exe yang tidak memiliki assembly ditentukan sebagai file input untuk Al.exe. Al.exe hanya dapat mengambil file dll tanpa assembly sebagai file input.
al1043 Nama file manifes 'name' tidak boleh sama dengan modul apa pun

Nama yang ditentukan dengan opsi /out tidak boleh sama dengan salah satu nama file yang ditentukan sebagai input untuk Al.exe.
al1044 Kesalahan membaca file kunci 'file'—alasan

Terjadi kesalahan saat membuka atau membaca dari file yang ditentukan dengan /keyfile atau AssemblyKeyFileAttribute.
al1045 Nama file output terlalu panjang atau tidak valid

Nama file yang lebih panjang dari 260 karakter diteruskan ke Al.exe. Pilih nama file dengan lebih sedikit karakter atau jalur yang lebih pendek, atau ganti nama file.
al1046 Pengidentifikasi sumber daya 'ID' telah digunakan dalam assembly ini

Dua sumber daya, disematkan atau ditautkan, memiliki pengidentifikasi atau nama yang sama (argumen kedua). Hapus atau ganti nama salah satu sumber daya yang berkonflik.
al1047 Kesalahan mengimpor file 'file'—alasan

File modul tidak dapat dibuka karena alasan yang ditentukan.
al1048 Kesalahan mengimpor modul 'module' dari assembly 'assembly'—alasan

Terjadi kesalahan saat membuka file nonmanifest dari assembly multifile. Kesalahan ini tidak dipancarkan langsung oleh Al.exe, tetapi dapat diteruskan secara terprogram ke proses yang menggunakan Al.exe.
al1049 Tidak dapat membuat nomor versi build dan revisi secara otomatis untuk tanggal sebelum 1 Januari 2000

Jam sistem pada komputer Anda diatur ke tanggal yang lebih awal dari 1 Januari 2000.
al1050 Fitur yang Anda gunakan 'old feature' tidak lagi didukung; silakan gunakan 'new feature' sebagai gantinya

Fitur yang sebelumnya didukung oleh Al.exe sekarang usang. Gunakan fitur yang direkomendasikan sebagai gantinya.
al1051 Kesalahan saat memancarkan atribut 'attribute'—alasan

Atribut kustom assembly tidak diproses oleh Al.exe karena alasan yang ditentukan.
al1052 File 'filename' bukan assembly

File yang ditentukan dengan /template harus berisi metadata assembly. Kesalahan ini menunjukkan bahwa file yang ditentukan oleh /template tidak berisi assembly.
al1053 Versi 'version' yang ditentukan untuk 'option' tidak dalam format 'major.minor.build.revision' normal

Al.exe mendeteksi informasi versi berbentuk buruk yang ditentukan dengan opsi /fileversion atau /productversion.
al1054 Versi 'version' yang ditentukan untuk 'option' tidak dalam format 'major.minor.build.revision' normal

Al.exe mendeteksi informasi versi yang tidak terbentuk buruk yang ditentukan dengan SatelliteContractVersionAttribute.
al1055 'filename' assembly yang dirujuk tidak memiliki nama yang kuat

Kesalahan ini dikeluarkan ketika Anda membangun assembly dengan nama yang kuat dan mereferensikan assembly yang tidak memiliki nama yang kuat. Untuk memperbaikinya, Anda harus meregenerasi assembly Anda dengan nama yang kuat, atau melampirkan nama yang kuat ke assembly dengan menggunakan Sn.exe (lihat dokumentasi untuk Sn.exe).

Kejadian umum dari kesalahan ini adalah ketika Anda menggunakan objek COM melalui assembly penyelubung, seperti saat Anda menambahkan referensi ke modul COM ke proyek C# dengan cara Visual Studio IDE. Untuk menghindari kesalahan, Anda dapat menentukan file kunci nama yang kuat untuk assembly pembungkus COM di Properti Proyek "File/Nama Kunci Assembly Penyelubung"

Jika Anda membuat assembly penyelubung melalui tlbimp, lihat dokumentasi tlbimp untuk informasi tentang cara menetapkan nama yang kuat ke assembly penyelubung.

Assembly harus memiliki nama yang kuat untuk diinstal di cache assembly global. Akibatnya, assembly yang direferensikan juga akan masuk ke cache assembly global. Hanya assembly dengan nama yang kuat yang dapat masuk ke cache assembly global.
al1056 Assembly yang dirujuk 'filename' adalah assembly satelit yang dilokalkan

Assembly yang dibuat dengan menggunakan atribut AssemblyCultureAttribute direferensikan dalam membuat assembly saat ini. Atribut AssemblyCultureAttribute menunjukkan file adalah assembly satelit lokal dan tidak tepat untuk mereferensikan assembly satelit. Referensikan assembly induk utama sebagai gantinya.
al1057 Executable tidak dapat dilokalkan, Culture harus selalu kosong

Assembly sedang dibuat dengan menggunakan /target:exe tetapi /culture ditentukan. Assembly dalam .exe tidak dapat memiliki informasi di bidang Culture.
al1058 'file' adalah assembly dan tidak dapat dirujuk sebagai modul

Dalam kompilasi C++, /assemblymodule (opsi linker) diteruskan file yang berisi assembly.
al1059 Kesalahan tidak diketahui (kode)

Al.exe menerima kode kesalahan yang tidak diketahui (code).

Solusi yang mungkin mencakup hal-hal berikut:

Instal ulang Visual Studio.

Instal ulang SDK Windows.

Periksa sumber daya yang hilang.

Periksa ruang disk yang memadai.

Periksa memori yang memadai.

Hentikan proses lain yang mungkin mengakses file.

Reboot komputer Anda.
al1060 Kegagalan kriptografi saat membuat hash—alasan

Terjadi kesalahan saat membuat hash file untuk assembly multifile.
al1061 Tidak dapat mengatur opsi 'option' karena 'reason'

Nilai yang ditentukan untuk opsi ini tidak valid karena alasan yang ditentukan.
al1062 Modul 'module' ditentukan beberapa kali; hanya akan disertakan sekali

Peringatan ini dihasilkan ketika file sumber, input, atau modul yang sama ditentukan beberapa kali pada baris perintah. Pastikan Anda menentukan nama file hanya sekali.
al1063 Jenis publik 'type' didefinisikan di beberapa lokasi dalam assembly ini: 'file1' dan 'file2'

Jenis yang sama ditemukan di lebih dari satu modul di assembly. Hanya satu versi dari setiap jenis yang mungkin ada dalam assembly.
al1064 Tidak dapat menentukan beberapa opsi /bugreport.

Hanya satu opsi /bugreport yang diizinkan.
al1065 Nama file 'File Name' terlalu panjang atau tidak valid

Nama file yang ditentukan lebih panjang dari maksimum yang diizinkan.
al1066 Karakter 'character' tidak diizinkan pada baris perintah atau dalam file respons

Ditemukan karakter yang tidak valid, baik pada baris perintah atau dalam file.
al1067 'filename' adalah file biner dan bukan file teks

File dalam format biner, bukan teks.
al1068 Modul 'ModuleName' sudah didefinisikan dalam assembly ini. Setiap sumber daya dan modul yang ditautkan harus memiliki nama file yang unik.

Modul terjadi lebih dari sekali dalam assembly ini.
al1069 Tidak dapat membuat nama file pendek 'filename' ketika nama file panjang dengan nama file pendek yang sama sudah ada

File saat ini memiliki nama yang merupakan versi pendek dari nama file yang sudah ada. Misalnya, mengkompilasi LongFileName.cs dan kemudian mengompilasi ulang dengan nama LongFi~1.cs akan menyebabkan kesalahan pengompilasi yang mirip dengan ini. Jika file output pengompilasi yang memiliki nama panjang dihapus, tetapi file linker analog tetap ada, kesalahan ini mungkin terjadi.
al1070 Assembly agnostik tidak dapat memiliki modul khusus prosesor 'Module Name'

Jika Anda membangun menggunakan /platform:agnostic (atau Anda tidak menentukan /platform), kesalahan akan dihasilkan jika Anda mencoba menambahkan modul (menggunakan /addmodule) yang tidak agnostik. Ini seperti mencoba menautkan file obj i386 ke obj ia64.

Sumber utama modul non-agnostik adalah C++. Jika Anda menggunakan /addmodule dengan modul C++, Anda mungkin harus memodifikasi skrip build untuk menentukan pengaturan /platform yang sesuai.
al1072 Assembly dan modul 'Module Name' tidak dapat menargetkan prosesor yang berbeda

Anda tidak dapat menautkan assembly dan modul yang ditargetkan untuk prosesor yang berbeda, karena hasilnya harus berjalan pada satu prosesor.
al1073 Assembly yang dirujuk 'assembly' menargetkan prosesor yang berbeda

Anda tidak dapat menautkan assembly dan modul yang ditargetkan untuk prosesor yang berbeda, karena hasilnya harus berjalan pada satu prosesor.
al1074 Nama modul 'Module Name' yang disimpan di 'File Name' harus sesuai dengan nama filenya

Ini diperlukan dari linker. Untuk mengatasi masalah ini, buat dua nama cocok.
al1075 Penandatanganan penundaan diminta, tetapi tidak ada kunci yang diberikan

Ketika assembly tertunda ditandatangani, pengompilasi tidak menghitung dan menyimpan tanda tangan, tetapi mencadangkan ruang dalam file sehingga tanda tangan dapat ditambahkan nanti.

Sebagai contoh, menggunakan /delaysign+ memungkinkan penguji untuk menempatkan assembly di cache global. Setelah pengujian, Anda dapat sepenuhnya menandatangani assembly dengan menambahkan kunci privat di assembly menggunakan utilitas Assembly Linker.
al1076 Jenis 'type' diteruskan ke beberapa assembly: 'assembly' dan 'assembly'.

Jenis hanya dapat diteruskan ke satu assembly.
al1077 Jenis publik 'type' didefinisikan dalam 'assembly' dan diteruskan ke 'assembly'.

Ada jenis publik duplikat dalam assembly yang dihasilkan. Salah satunya adalah definisi jenis yang valid dan yang lainnya adalah penerus jenis.

Contoh

Perintah berikut membuat file yang dapat dieksekusi t2a.exe dengan assembly dari t2.netmodule modul. Titik masuk adalah metode Main dalam MyClass.

al t2.netmodule /target:exe /out:t2a.exe /main:MyClass.Main

Lihat juga