First, this is the simplest example: (reference)
What is an assembly?
The Assembly can be simply understood as the *. exe or *. dll file generated after the. NET project is compiled.
Well, this is actually easier, but I understand it in this way. Details:
What is the difference between a set and a namespace?
An assembly can span n namespaces, and a namespace can also contain n assemblies.
If the namespace is the logical organization form of the class library, the Assembly is the physical organization form of the class library. This type can be fully qualified only when the namespace of the specified type and the Assembly that implements this type are both specified. (Excerpted from "proficient in. NET core technology-original and architecture" e-Industry Press)
That is to say, to create an instance of a class, you must know the namespace of the class (this is generally known) + assembly
Below is an advanced
Assembly features:
1. The Assembly is self-described.
2. Version dependencies are recorded in the assembly list.
3. The Assembly can be loaded in parallel.
4. Applications use application domains to ensure their independence.
Assembly structure:
Describes the metadata of the exported type and method, the MSIL code and Resources .
Assembly List:
1. ID
2. A file list of the Assembly.
3. List of referenced assembly.
4. A group of license requests.
5. The exported types are not part of the assembly list unless they are placed in a module.
Below is the DLL explanation
The so-called Dynamic Link library (DLLs) is simply an executable module with the extension. DLL, which contains routines and resources that can be used by other applications or other DLLs. Different from the general executable program extension. EXE, DLLs does not have a common main program, but it has multiple execution portals.
The feature of DLLs is that its code is dynamically linked to the Program Calling it at runtime. Once it is loaded, it can be shared by multiple applications or other DLLs.