C#高级编程:模块与程序集创建教程

需积分: 14 44 下载量 123 浏览量 更新于2024-08-05 收藏 97.07MB PDF 举报
本资源是一份名为"创建模块和程序集-hta8533-md-007yy_使用说明书_v1.1_20170302"的文档,主要针对C#编程语言进行讲解。在C#中,模块(Module)和程序集(Assembly)是两个关键概念,它们在软件开发中扮演重要角色。 1. 程序集: - 程序集是C#中封装代码的基本单元,它包含了相关的类、接口、结构、委托和资源等元素。无论项目是选择Windows Forms项目类型还是控制台应用程序(exe项目类型),Visual Studio都会自动创建一个程序集。 - 在C#编译器(csc)中,使用"/target:library"选项可以创建库(library)级别的程序集,这通常用于库函数或组件的共享。 2. 模块与程序集的区别: - 模块(.netmodule)是一种没有程序集特性的DLL,它并不被视为程序集,但可以后续添加到程序集中。模块有自己的清单(Manifest),但不包含assembly条目,只记录引用的外部程序集和其他模块。 - 模块清单中展示了引用的程序集和模块,以及模块中导出的类,而从程序集自身导出的类不会出现在清单中。 3. 创建模块和程序集的过程: - 使用csc编译器创建模块时,会生成.Asmmodule文件,可以使用ildasm工具查看其清单,了解引用的依赖。 - 要创建包含模块的程序集,无需单独的源文件,而是通过"/addmodule"选项指定模块,如"csc /target:library /addmodule:A.netmodule /out:B.dll",这样生成的程序集B就会包含模块A。 4. 清单的细节: - 清单是程序集的核心组成部分,它存储了版本信息、散列算法、版权信息等。散列算法的种类决定了程序集的唯一标识,这对于确保程序的完整性和安全性至关重要。清单还包含了所有属于该程序集的模块列表,以及这些模块中导出的类。 5. 版权和许可证: - 该文档指出,所有内容受版权保护,未经许可禁止复制或抄袭。清华大学出版社获得了Wyley Publishing公司的授权出版此中文版,且附有防伪标签。 6. 出版信息: - 出版信息包括作者Christian Nagel、Bill Evenden和Jaylynne Taite的专业背景,以及ISBN和版权信息。同时提供了联系信息和版权保护措施,如举报电话和电子邮箱。 总结来说,这份文档详细介绍了如何在C#中创建模块和程序集,包括它们之间的区别,以及在Visual Studio和命令行环境下创建它们的步骤。此外,文档还强调了清单在程序集中的重要性,特别是版本控制、散列算法和模块引用等方面的内容。