| 网站首页 | 建站学院 | 资源下载 | 建站教程 | 图片素材 | 网贝社区 | 
您现在的位置: 网贝建站 >> 建站学院 >> ASP.NET >> .NET概论及软件使用 >> 正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
没有相关文章
[组图]利用.NET框架简化发布和解决DLL Hell问题       ★★★★
利用.NET框架简化发布和解决DLL Hell问题
作者:佚名 文章来源:网海之贝 点击数: 更新时间:2004-8-31 13:07:31

 

汇编:积木

汇编是 .NET 框架用于解决刚描述的版本和发布问题的积木。汇编是类型和资源的发布单元。在许多方面汇编和现在的 DLL 相同。从本质上讲,汇编是“逻辑 DLL”。

汇编是通过元数据调用清单自描述的。就像 .NET 使用元数据描述类型一样,它也使用元数据描述包含类型的汇编。

汇编不仅仅于发布有关。例如,.NET 中的版本在汇编层完成 —没有任何减少,就像一个模块或类型的版本化。而且,汇编还用于在应用程序之间共享代码。包含某个类型的汇编是该类型标志的一部分。

访问安全系统的代码在其许可模型的内核中使用汇编。汇编的编写者在清单中记录一组运行该代码所需求的许可,然后管理员将许可授权给基于汇编的代码,此汇编包含该代码。

最后,汇编也是类型系统和运行时间系统的核心,在其中他们为类型和服务建立了一个可视的边界作为解决引用类型的运行时间范围。

汇编清单

清单明确包括以下有关汇编数据:

  • 标识:一个汇编标识由三部分组成:名称、版本号和选项文化。

  • 文件列表:清单包括所有组成汇编的文件列表。对于每个文件,在建立清单时记录它的名称和内容的加密信息。该信息在运行时验证以确保发布单元的一致。

  • 引用的汇编:汇编间的关系保存在收集的汇编清单中。从属信息包括版本号,它用于运行时保证载入正确版本的关系。

  • 输出类型和资源:对类型和资源可用的可视选项包括“仅在我的汇编中可视”和“对我的汇编之外的调用者可视。”

  • 许可需求:汇编许可需求分为三组:汇编运行需求、需要的但汇编还有一些即使没授权的功能的需求,以及编写者不想汇编被授权的需求。

IL 反汇编 (Ildasm) SDK 工具对于在汇编中查看代码和元数据很有帮助。图 1 是一个以 Ildasm 现实的范例清单。.assembly 表示汇编而 .assembly extern 包含有关其他汇编所依赖的信息。

图 1. 以 IL 反汇编显示的范例清单

汇编结构

到此为止,汇编主要以逻辑概念描述。本节通过描述他们如何在物理上体现帮助您使汇编更加具体。

通常,汇编由四个元素组成:汇编元数据(清单)、元数据描述类型、实现该类型的媒介语言 (IL) 代码和一组资源。不是所有的这些都出现在每个汇编中。只有清单是严格需要的,但类型或资源需要给汇编一些重要的功能。

有几个关于这四个元素能如何包装的选项。例如,图 2 表示包含整个汇编:清单、类型元数据、IL 代码和资源。

图 2. 包含所有汇编元素的 DLL

另一种情况,一个汇编的内容也许分割为多个文件。在图 3 中,作者选择将一些有用的代码分离到一个不同的 DLL 中,并在它的原始文件中保留一个大的资源文件(这里是一个 JPEG 文件)。这样做的一个原因就是优化代码的下载。.NET 框架只在引用时才下载文件,所以如果汇编包含经常被访问的代码或资源,那么将他们分成单独的文件将提高下载的效率。

图 3. 汇编元素分割为多个文件

上一页  [1] [2] [3] [4] [5] [6] [7] [8] 下一页

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)