1. 程序集,就是程序的集合。程序,就是指模块。所以一个程序集里可以有一个或多个模块。
  2. 一个dll或exe,就是一个程序集。
  3. 对于CLR来说,是不能直接使用Module的。Assembly是一个重用的基本单元,有自己的版本和安全信息的保护。

示例:
一个程序集里一个模块:

csc /out:test.exe /t:exe program.cs

一个程序集多个模块:

csc  /t:module testmodule.cs

你就会得到一个testmodule.netmodule的文件,这就是一个模块文件,你可以同样的方式得到另外一个模块文件然后在用AL.exe把两个模块文件编译进一个程序集mergedAssemly.dll:

Al /out:mergedAssemly.dll /t:library testmodule.netmodule testmodule1.netmodule