45 Stimmen

Der Unterschied zwischen Assembly und DLL

Was ist der Unterschied zwischen einer Assembly und einer DLL? Sollte beim Senden des Codes an einen entfernten Client eine DLL-Datei oder eine Assembly gesendet werden (wenn eine direkte TCP-Verbindung zwischen den beiden besteht)?

1voto

Craig Warren Punkte 1645

Eine Assembly ist der vorkompilierte Code, der an die .net JIT Runtime übergeben wird.

Es ist ein maschinenunabhängiges Format für den Code, der von jeder .net Command Lanuage Runtime ausgeführt werden kann.

DLLs und EXEs sind die gängigen Formate für Baugruppen.

1voto

gujji Punkte 11

Exe 1 Das sind ausgehende Dateien. 2. pro Anwendung gibt es nur eine .exe-Datei. 3. .Exe kann nicht mit anderen Anwendungen geteilt werden.

.dll 1.diese sind inbund file . 2. viele .dll-Dateien können in einer Anwendung vorhanden sein. 3. .dll kann mit anderen Anwendungen geteilt werden.

1voto

Anil Anjana Punkte 21

Diese Frage scheint nicht berechtigt zu sein. Sowohl .dll als auch .exe sind Assemblys. Dies sind nur Erweiterungen von Assemblies. Beide können MSIL-Code enthalten, aber .exe hat einen einzigen Einstiegspunkt, d.h. die Hauptfunktion. Aber .dll kann viele Einstiegspunkte.

Assembly ist die kleinste Einheit der Bereitstellung und kann eine dll oder exe sein. Es gibt zwei Arten von Assemblys: statisch und dynamisch. Es gibt noch eine andere Art von statischer Assembly, die als Satelliten-Assembly bekannt ist und Ressourcen (Bilder, Ressourcendateien usw.) enthält. Sie können starke Namen für Assemblies verwenden, um sie für die weltweite Verwendung verfügbar zu machen, indem Sie sie im GAC registrieren.

0voto

BobbyShaftoe Punkte 27949

Nun, "Assembly" ist ein Begriff, der für eine .NET-Ressource verwendet wird. Das ist nicht unbedingt eine DLL. Eine DLL kann eine .NET-Ressource sein, aber sie kann auch eine "native" Ressource sein. Eine Assembly kann in eine DLL oder in eine EXE gepackt werden. Das hängt von der jeweiligen Baugruppe ab.

Wenn dies mit Ihrer anderen Frage übereinstimmt, müssen Sie die Datei senden, die die Baugruppe enthält. Vielleicht können Sie etwas Komplizierteres machen, aber das ist es dann auch schon.

0voto

Nick Bedford Punkte 4233

Jede DLL, die aus einem .NET-Projekt erstellt wird, ist eine Assembly, ebenso wie eine ausführbare Datei. Assemblies enthalten nicht nur den CLI-Code für die Ausführung unter der Common Language Runtime, sondern auch vollständige Informationen über die Klassen und die Struktur des Codes in der Assembly.

Native DLLs unterscheiden sich dadurch, dass sie kaum Metainformationen über den in der DLL enthaltenen Code und die Ressourcen enthalten. Eine native ausführbare Datei ist fast identisch mit einer DLL.

Baugruppen sind aufgrund ihrer Modularität und der integrierten API-Metadaten wunderbar geeignet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X