Bisakah Anda menjelaskan apa yang dimaksud dengan Assembly di C # atau .NET?
- Di mana itu dimulai dan di mana itu berakhir?
- Informasi penting apa yang harus saya ketahui tentang Assemblies?
Bisakah Anda menjelaskan apa yang dimaksud dengan Assembly di C # atau .NET?
Jawaban:
Rakitan adalah keluaran terkompilasi dari kode Anda, biasanya DLL, tetapi EXE Anda juga merupakan rakitan. Ini adalah unit penerapan terkecil untuk proyek .NET apa pun.
Rakitan biasanya berisi kode .NET dalam MSIL (bahasa Microsoft Intermediate) yang akan dikompilasi ke kode asli ("JITted" - dikompilasi oleh kompiler Just-In-Time) saat pertama kali dijalankan pada mesin tertentu. Kode yang dikompilasi itu juga akan disimpan di assembly dan digunakan kembali pada panggilan berikutnya.
Rakitan juga dapat berisi sumber daya seperti ikon, bitmap, tabel string, dan sebagainya. Selain itu, assembly juga berisi metadata dalam manifes assembly - informasi seperti nomor versi, nama kuat, budaya, majelis yang direferensikan, dan sebagainya.
Dalam 99% kasus Anda, satu rakitan sama dengan file fisik pada disk - kasus rakitan multi-file (satu rakitan, didistribusikan di lebih dari satu file) tampaknya menjadi kasus tepi bola yang agak aneh yang saya tidak pernah ditemukan sejauh ini dalam 5+ tahun pengembangan .NET saya.
Dalam rakitan multifile, hanya akan ada satu manifes rakitan dalam DLL atau EXE dan kode MSIL dalam beberapa file netmodule.
Dalam kerangka kerja Microsoft .NET, rakitan adalah pustaka kode yang dikompilasi sebagian untuk digunakan dalam penyebaran, pembuatan versi, dan keamanan.
http://www.codeguru.com/columns/csharp_learning/article.php/c5845
Rakitan adalah file yang secara otomatis dihasilkan oleh kompilator setelah berhasil mengumpulkan setiap aplikasi .NET. Ini bisa berupa Dynamic Link Library atau file yang dapat dijalankan. Itu dibuat hanya sekali untuk aplikasi dan pada setiap kompilasi berikutnya perakitan diperbarui.
Berikut penjelasan lain dari make up dari .NET Assemblies, kutipan mini:
Kerangka .NET terdiri dari konsep modul, rakitan, yang menyimpan metadata dan informasi nyata. Perakitan dapat berisi banyak modul. Visual C # hanya pernah membuat satu modul yang diubah menjadi rakitan oleh kompiler C # (csc.exe), tetapi rakitan dapat menghubungkan banyak modul .NET bersama-sama melalui alat baris perintah assembly linker (al.exe). Misalnya, setiap file .cs kode sumber Anda dapat dikompilasi menjadi modul dan ditautkan bersama untuk membentuk rakitan - rakitan hanyalah kumpulan modul dan sumber daya. Namun, salah satu modul ini; harus berisi informasi metadata manifes (lihat di bawah) agar assembly dapat dipahami oleh CLR.
....
Setelah membuat .exe atau .dll baru di dalam VS.NET, Anda melihat file Anda muncul di dalam folder bin Anda. Membukanya di notepad akan memberikan omong kosong, atau bahkan di dalam editor heksadesimal tanpa mengetahui struktur file, Anda memerlukan alat seperti ildasm.exe atau CFF explorer untuk memaknainya. Struktur perakitan adalah sebagai berikut:Header PE Header
CLR
Metadata
CLR
Kode CLR IL
Data asli
Jawabannya adalah agar dapat segera digenggam.
Sederhananya, ini adalah proyek terkompilasi yang melibatkan kelas Anda dan file tambahan, jika ada. Artinya, setiap proyek dalam solusi adalah perakitan .
Atau lebih teknis,
Sebuah perakitan adalah di mana tipe disimpan dalam flesystem tersebut. Assemblies adalah mekanisme untuk menyebarkan kode. Misalnya,
System.Data.dll
rakitan berisi tipe untuk mengelola data. Untuk menggunakan tipe di majelis lain, mereka harus direferensikan. - Sumber
Bagaimana kita mengetahuinya? Jika Anda melihat sekilas properti proyek di bawah solusi, Anda dapat melihat gambar berikut.
Ketika Anda menyusun proyek, ternyata DLL atau EXE .
Ketika kode sumber dikompilasi oleh kompiler bahasa itu Hasilkan Majelis Terkelola dan MSIL (MisroSoft Intermediate Language). Majelis itu berisi file .dll atau .exe . Assebmly dapat terdiri dari dua jenis Majelis Pribadi dan Majelis Bersama , Majelis bersama disimpan di GAC (Cache Majelis Global) sehingga aplikasi apa pun dapat merujuknya sementara perakitan pribadi disimpan dalam folder aplikasi yang hanya dapat digunakan oleh satu Aplikasi.
Rakitan adalah DLL atau EXE yang akan dibuat saat Anda mempublikasikannya atau mengkompilasi aplikasi Anda.
Majelis adalah kumpulan unit logis. Unit logis mengacu pada jenis dan sumber daya yang diperlukan untuk membangun aplikasi dan menerapkannya menggunakan kerangka kerja .Net. Pada dasarnya, Assembly adalah kumpulan Exe dan DLL. Ini portabel dan dapat dieksekusi.
Setelah menulis kode sumber program Anda (proyek), maka sebuah file dibuat yang mungkin DLL atau EXE tergantung pada proyek Anda. Itu membuat hanya sekali untuk satu proyek. Ini memiliki dua tipe 1: - single 2: - shared atau multiprogram single assembly hanya digunakan dalam satu program sedangkan shared dapat digunakan untuk multiprogram