程序集 是什么如何区别程序集的
程序集是根据程序集的版本号号 来区别。
CLI程序集可分为两类:进程程序集(EXE)、库程序集(DLL)。
其中.exe文件是一个自己执行的程序集,而.dll将被其他程序集加载后运行。
程序集编译为IL代码,这是一种中间语言。框架内部把IL字节码转换为本地的汇编代码。对于打印"Hello World"的程序,其等效的IL代码是:
.method private hidebysig static void Main(string[] args) cil managed {
.entrypoint
.custom instance void [mscorlib]System.STAThreadAttribute::.ctor() = ( 01 00 00 00 )
// Code size 11 (0xb)
.maxstack 1
IL_0000: ldstr "Hello World"
IL_0005: call void [mscorlib]System.Console::WriteLine(string)
IL_000a: ret } // end of method Class1::Main
以及 程序集 命名空间的区分?
如果说命名空间是类库的逻辑组织形式,那么程序集就是类库的物理组织形式。只有同时指定类型所在的命名空间及实现该类型的程序集,才能完全限定该类。
程序集和命名空间不存在必然联系
程序集的的作用域大于命名空间。所以允许同一个程序集底下建立N个命名空间。