">>>":代表包含
进程>>>应用程序域AppDomain>>>程序集Assembly>>>模块Module>>>类型Type>>>成员(方法、属性等)
如图,假设一个解决方案里创建有多个项目:
(1)SuperControl:*要启动的主项目*
(2)ClassLibrary1:主项目需要引用的自定义的类库
(3)WindowsFormsApplication1:和主项目无关,没有引用关系
(4)主项目里引用的系统的其他DLL程序集:如System.Windows.Forms
程序开始运行后,就会建立一个应用程序域,其中包含多个程序集,有(1)(2)(4)。
每个程序集可以理解为一个单独的项目。
使用Assembly.GetExecutingAssembly()可以获取当前执行代码的程序集,可以理解为获取当前的主项目SuperControl。使用AppDomain.CurrentDomain.GetAssemblies()可以获取当前应用程序域中所有用到的程序集。如下图。
补充:
如果运行的项目SuperControl中引用了类库ClassLibrary1,也引用了命名空间using ClassLibrary1。但实际代码里没有用到ClassLibrary1项目