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. |
/Bendera: 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. |
/utama: 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. |
/keluar: filename |
Menentukan nama file yang dihasilkan oleh Al.exe. Opsi ini wajib diisi. |
/balei-balei: 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] . |
/templat: filename |
Menentukan assembly, filename , untuk mendapatkan warisan semua metadata assembly, kecuali bidang kultur.Assembly yang Anda buat dengan /template akan menjadi assembly satelit. |
/titel: 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