การประกอบกับ DLL
ห้องสมุดคือชุดของทรัพยากรที่ใช้พัฒนาแอปพลิเคชันได้ ไลบรารีมักจะประกอบด้วยรูทีนย่อย ฟังก์ชัน คลาส ค่าและประเภท ระหว่างกระบวนการเชื่อมโยง (โดยปกติทำโดยตัวเชื่อมโยง) ไลบรารีและไฟล์เรียกทำงานจะอ้างอิงถึงกัน ไฟล์ DLL คือไฟล์ไลบรารีที่เชื่อมโยงแบบไดนามิก DLL ได้รับการพัฒนาโดย Microsoft แต่เนื่องจากปัญหาบางอย่างที่เกิดขึ้นกับไฟล์ DLL Microsoft จึงมีรูปแบบไฟล์แอสเซมบลี (ด้วย. NET framework) ไฟล์แอสเซมบลีนั้นคล้ายกับ DLL มาก แต่มีความแตกต่างภายในมากมาย
DLL คืออะไร
Dynamic Link Library (หรือที่เรียกกันทั่วไปว่า DLL) คือการใช้งานไลบรารีที่ใช้ร่วมกันที่พัฒนาโดย Microsoft ใช้นามสกุล.dll,.ocx หรือ.drv และใช้ในระบบปฏิบัติการ Microsoft Windows และ OS/2.dll ถูกใช้โดยไฟล์ DLL ปกติ และส่วนขยาย.ocx ถูกใช้โดยไลบรารีที่มีตัวควบคุม ActiveX และส่วนขยาย.drv ถูกใช้โดยไฟล์ไดรเวอร์ระบบรุ่นเก่า รูปแบบไฟล์ DLL เหมือนกับไฟล์ Windows EXE (ไฟล์ปฏิบัติการแบบพกพาใน Windows รุ่น 32 บิต/64 บิต และไฟล์ปฏิบัติการใหม่บน Windows รุ่น 16 บิต) ดังนั้น การรวมโค้ด ข้อมูล และทรัพยากรใดๆ ก็ตามสามารถมีอยู่ในไฟล์ DLL (เช่นเดียวกับในไฟล์ EXE) ตามความเป็นจริง ไฟล์ข้อมูลที่มีรูปแบบไฟล์ DLL จะเรียกว่า DLL ของทรัพยากร ไลบรารีไอคอน (ที่มีนามสกุล.icl) และไฟล์ฟอนต์ (ที่มีนามสกุล.fon และ.fot) เป็นตัวอย่างของ DLL ของทรัพยากร
ส่วนประกอบที่เรียกว่าส่วนประกอบขึ้นเป็น DLL และแต่ละส่วนมีแอตทริบิวต์ของตัวเอง เช่น อ่านอย่างเดียว/เขียนได้ และสั่งการได้/ไม่สามารถสั่งการได้ส่วนรหัสสามารถเรียกใช้งานได้ ในขณะที่ส่วนข้อมูลไม่สามารถดำเนินการได้ ส่วนรหัสถูกแชร์และส่วนข้อมูลเป็นแบบส่วนตัว นั่นหมายความว่ากระบวนการทั้งหมดที่ใช้ DLL จะใช้สำเนาของรหัสเดียวกัน ในขณะที่แต่ละกระบวนการจะมีสำเนาข้อมูลของตัวเอง ไลบรารีไดนามิกหลักสำหรับ Windows คือ kernel32.dll ซึ่งมีฟังก์ชันพื้นฐาน (ฟังก์ชันที่เกี่ยวข้องกับไฟล์และหน่วยความจำ) บน Windows COM (Component Object Model) เป็นส่วนขยายของ DLL เป็น OOP (Object Oriented Programming) DLL ทั่วไปนั้นใช้งานง่ายกว่าไฟล์ COM
การประกอบคืออะไร
Microsoft แนะนำไฟล์แอสเซมบลีเพื่อแก้ปัญหาต่างๆ ที่มีอยู่กับไฟล์ DLL ไฟล์แอสเซมบลีถูกนำมาใช้กับกรอบงาน Microsoft. NET หน่วยการทำงานทางลอจิคัลที่เรียกว่าแอสเซมบลี แอสเซมบลีสามารถเรียกใช้งานได้ภายใต้. NET CLR (Common Language Runtime) ทางกายภาพ มีแอสเซมบลีเป็นไฟล์ EXE หรือ DLL แต่มีความแตกต่างอย่างมากกับ Microsoft Win32 DLL ภายในไฟล์แอสเซมบลีประกอบด้วยรายการ ข้อมูลเมตา MISL (รหัสภาษากลางของ Microsoft) และทรัพยากรอื่นๆ การประกอบเป็นการอธิบายตนเอง ไฟล์ Manifest ประกอบด้วยข้อมูลต่างๆ เช่น ชื่อ เวอร์ชัน วัฒนธรรม ชื่อที่รัดกุม รายชื่อไฟล์ ประเภท และการพึ่งพา รหัส MISL ดำเนินการผ่าน CLR (ไม่สามารถดำเนินการได้โดยตรง)
แอสเซมบลีและ DLL ต่างกันอย่างไร
DLL เป็นไลบรารีที่เชื่อมโยงแบบไดนามิก แม้ว่าแอสเซมบลีจะเท่ากับ DLL แต่ภายในต่างกันมาก เป็นไปไม่ได้ที่จะรักษาความสอดคล้องระหว่างชุดของ DLL แต่ CLR สามารถรักษาความสอดคล้องระหว่างชุดของแอสเซมบลี เนื่องจากแอสเซมบลีอธิบายตัวเองได้ (ประกอบด้วยรายการของการพึ่งพาภายใน) ไม่เหมือนกับ DLLs ข้อมูลการกำหนดเวอร์ชันถูกบังคับใช้สำหรับแอสเซมบลี (โดย CLR) การติดตั้งแบบเคียงข้างกัน (แอปพลิเคชันต่างๆ โดยใช้เวอร์ชันต่างๆ กัน) สามารถทำได้ด้วยแอสเซมบลี