生成、打包、部署和管理应用程序及类型(下)

1.1   将模块合并成程序集

Clr操作的是程序集。它会加载包含清单元素据表的文件,根据清单来获取程序集中的其他文件名称。程序集特点:

(1)定义了可重用的类型

(2)用一个版本标记

(3)可以关联安全信息

使用程序集的好处:

(1)不同的类型用不同的文件,使文件能以增量方式下载,对购买、安装程序进行部分、分批打包/部署。

(2)可在程序集中添加资源和数据文件。

(3)程序集包含的各个类型可以用不同的编程语言来实现。

1.1.1    使用vs将程序集添加到项目中

在解决方案,右键添加引用的项目,选择 添加引用 来打开 引用管理器。

1.1.2    使用程序集链接器

除了编译器,还可用“程序集链接器”AL.exe创建程序。

1.1.3    为程序添加资源文件

(1)/resource可以获取任意资源,将文件内容嵌入最终的PE文件。

(2)/link[esource获取资源,不会嵌入,必须和其他程序集文件一起打包部署。

1.2   程序集版本资源信息

可在文件属性检查该资源。代码中调用system.diagnostics.file.versioninfo的静态方法getversioninfo,传递路径参数,可以获取该信息。

版本号格式:主版本号.次版本号.内部版本号.修订号

程序集有三个版本号。

(1)assembyfileversion存储在win32版本资源,clr不关心,提供公众看到的版本。

(2)assemblyinfomationalversion存储在win32版本资源,clr不关心,主要作用是指出包含该程序集的产品的版本。

(3)assemblyversion

存储在saaemblydef清单元素据表中,clr在绑定强命名程序集会使用到。唯一标识了程序集。

1.3   语言文化

除了版本号,程序集还将语言文化作为其身份标识的一部分。未指定具体语言文化的程序集称为语言文化中性 culture neutral。

专门创建一个程序集来包含代码和默认资源,新建一个或多个单独程序集包含语言文化资源(不包含代码)。

1.4   简单应用程序部署(私有部署的程序集)

对于Windows store 应用程序,vs会将应用程序所有必要程序集打包成一个。Appx.

对于非Windows store 桌面应用,程序集的打包方式没有任何特殊要求,打包一组程序最简单的方式就是直接复制所有文件。

在应用程序基目录或者子目录部署的程序集成为私有部署的程序集,这是因为程序集文件并不和其他任何应用程序共享。私有部署的程序集只需把它复制到一个应用程序的基目录,clr便会加载他们并执行其中的代码。需要卸载,删除即可,因为每个程序集都用元素据注明了自己引用的程序集,不需要注册表设置。

1.5   简单管理控制(配置)

用户或管理员经常需要控制应用程序的执行,可在应用程序目录放入一个配置文件。配置文件包含xml代码,能和应用程序关联,也可以和机器关联。

对于可执行应用程序(exe),配置文件必须在应用程序的基目录,采用exe文件全名作为文件明,再附加.Config拓展名。

对于asp.net web窗体应用程序,文件必须在web应用程序的虚拟根目录中,而且总是命名为Web.Config.

posted @ 2019-01-10 18:37  GiserDog  阅读(283)  评论(0编辑  收藏  举报