众所周知,C#中最小的部署单元和可执行,可测试单元是程序集(Assembly),程序集一般分为类库(dll)和可执行文件(exe)。这些都是很浅显的,但是除此之外,我们经常会发现有一个后缀名为manifest的xml文件,这又是什么呢?它就是我们今天要提到的,应用程序清单文件。
程序集的组成
程序集可以由四部分组成。
- 程序集清单(Assembly Manifest):每个程序集必须具备程序集清单,清单上面描述了程序集的版本号,元数据,定义了哪些类,提供一个渠道让宿主环境(hosting environment)在加载该程序集时了解该程序集,同时也是程序集能实现自我描述,反射技术能存在的基础。
- 应用程序清单(Application Manifest):可执行的程序集可以用应用程序清单,让操作系统知道应该如何与此程序集打交道,最常见的使用在于要求用户提供管理员权限。
- 代码(IL Code):程序集所包含的代码(已经被编译成了中间语言)。其实这么说还不完全准确,程序集包含的是模块(Module),模块中包含的才是代码,不过说程序集包含代码,也勉强可以。
- 资源文件(Resource Files):程序集里面的资源文件,如图片,本地化资源等。
如何添加应用程序清单
默认情况下,通过visual studio创建一个应用程序是没