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


    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.

  • 相关阅读:
    Python 网络编程 C/S建立Socket连接
    odoo 安装配置
    epoll poll select区别
    SyntaxError :invalid syntax Python常见错误
    TypeError: Can't convert 'int' object to str implicitly Python常见错误
    IndexError: list index out of range Python常见错误
    NameError: name 'foo' is not defined Python常见错误
    IndentationError:unexpected indent”、“IndentationError:unindent does not match any outer indetation level”以及“IndentationError:expected an indented block Python常见错误
    TypeError: 'str' object does not support item assignment Python常见错误
    每周总结
  • 原文地址:https://www.cnblogs.com/lzcgis/p/10251711.html
Copyright © 2020-2023  润新知