Unterschied zwischen Baugruppe und DLL

Unterschied zwischen Baugruppe und DLL

Montage gegen DLL

Eine Bibliothek ist eine Sammlung von Ressourcen, die zur Entwicklung von Anwendungen verwendet werden können. Eine Bibliothek besteht normalerweise aus Unterprogramme, Funktionen, Klassen, Werten und Typen. Während des Verknüpfungsprozesses (normalerweise von einem Linker), beziehen sich Bibliotheken und ausführbare Ausführungsfähigkeiten aufeinander. DLL -Dateien sind die Bibliotheksdateien, die dynamisch verknüpft sind. DLL wurde von Microsoft entwickelt. Aufgrund einiger Probleme mit DLL -Dateien hat Microsoft jedoch ein Montagedateiformat (mit dem .Netto -Framework). Montagedateien sind DLLs physisch sehr ähnlich, haben jedoch viele interne Unterschiede.

Was ist DLL?

Die dynamische Linkbibliothek (allgemein bekannt als DLL) ist eine von Microsoft entwickelte gemeinsame Bibliotheksimplementierung. Es verwendet das .DLL, .ocx oder .DRV -Erweiterungen und sie werden in Microsoft Windows- und OS/2 -Betriebssystemen verwendet. DLL wird von den regulären DLL -Dateien verwendet. Und .Die OCX -Erweiterung wird von den Bibliotheken verwendet, die ActiveX -Steuerelemente enthalten und .Die DRV -Erweiterung wird von Legacy -System -Treiberdateien verwendet. Das DLL-Dateiformat entspricht den Windows EXE-Dateien (tragbare ausführbare Dateien unter 32-Bit/64-Bit-Windows und neu ausführbare Dateien unter 16-Bit-Windows). Daher kann jede Kombination aus Code, Daten und Ressourcen in DLL -Dateien enthalten sein (genau wie in EXE -Dateien). Tatsächlich werden Datendateien mit dem DLL -Dateiformat als Ressourcen -DLLs bezeichnet. Symbolbibliotheken (mit .ICL -Erweiterung) und Schriftdateien (mit .fon und .FOT -Erweiterungen) sind Beispiele für Ressourcen -DLLs.

Komponenten, die als Abschnitte bezeichnet werden, bilden eine DLL und jeder Abschnitt verfügt. Codeabschnitte sind ausführbar, während Datenabschnitte nicht ausführbar sind. Die Codeabschnitte werden gemeinsam genutzt und Datenabschnitte privat sind. Das bedeutet, dass alle Prozesse, die die DLL verwenden. Die primäre dynamische Bibliothek für Windows ist Kernel32.DLL, das die Basisfunktionen (Datei- und Speicherfunktionalität) unter Windows enthält. COM (Komponentenobjektmodell) ist die Erweiterung von DLL auf OOP (objektorientierte Programmierung). Herkömmliche DLLs sind einfacher zu verwenden als COM -Dateien.

Was ist eine Baugruppe?

Montagedateien wurden von Microsoft eingeführt, um mehrere Probleme mit DLL -Dateien zu lösen. Die Montagedateien wurden mit dem Microsoft eingeführt .Netto -Framework. Eine ausführbare logische Funktionseinheit wird als Montage bezeichnet. Baugruppen sind ausführbar unter .Net CLR (gemeinsame Sprachlaufzeit). Physikalisch existieren Baugruppen als EXE- oder DLL -Dateien. Aber sie unterscheiden sich sehr von Microsoft Win32 DLLs, intern. Eine Montagedatei besteht aus manifestiert, Metadaten, Misl (Microsoft Intermediate Language Code) und andere Ressourcen. Eine Baugruppe beschreibt sich selbst. Das Manifest enthält die Informationen wie Name, Version, Kultur, starke Name, Dateienliste, Typen und Abhängigkeiten. Der MISL -Code wird über CLR ausgeführt (er kann nicht direkt ausgeführt werden).

Was ist der Unterschied zwischen Baugruppe und DLL?

DLL ist eine dynamisch verknüpfte Bibliothek. Obwohl Baugruppen physisch gleich Dlls sind, sind sie intern sehr unterschiedlich. Es ist nicht möglich, die Konsistenz zwischen einem Satz von DLLs aufrechtzuerhalten, aber die CLR kann die Konsistenz zwischen einer Reihe von Baugruppen aufrechterhalten, da die Baugruppen selbst beschreiben (sie enthalten die Liste der Abhängigkeiten intern). Im Gegensatz zu DLLs werden Versionsinformationen für Versammlungen (von der CLR) erzwungen (von CLR) durchgesetzt. Side-by-Side-Bereitstellung (verschiedene Anwendungen mit verschiedenen Versionen) sind mit Baugruppen möglich.