第2章:生成、打包、部署和管理应用程序及类型

来源:互联网 发布:连环夺宝编程原理 编辑:程序博客网 时间:2024/06/06 00:26

能简述托管代码和非托管代码,并知道它们的相同点和不同点

2.1 .NET Framwork 部署目标
Window因为其不稳定和复杂性而口碑差。造成的原因。
(1)不稳定性:由于应用程序要执行多个厂商的代码,当某个厂商更新代码时,不可能重新测试和调试之前发布的所有应用程序,无法保证自己的更改不会造成坏的后果。有可能出现,当用户安装或更新一个新的应用程序时,会破坏以前已经安装好的一个应用程序,这就是Dll hell。
(2)安装的复杂性:大多数应用程序的安装都会影响到系统的全部组件(将文件复制到多个目录,更新注册表,创建快捷方式)。应用程序备份不易,卸载不易,从一台电脑转移到另一台电脑也不易。
(3)安全性:有些应用程序安装时会悄悄下载一些用户不知道的文件或在未通知用户的情形下进行一些操作。所以必须把安全性集成到系统中,让用户明确允许或执行各公司开发的代码访问自己的系统资源。

.NET Framwork 部署目标是:正在尝试解决Dll hell的问题;很大程度上解决了应用程序文件在用户硬盘四处分散的问题;其“代码访问安全性(Code Access Sequcerity)”的安全模型解决了安全性问题
2.2 将类型生成到模块:将包含多个类型的源代码文件转变为可以部署的文件

用到的工具:VS 开发人员命令提示
语句:csc.exe /out:MyProgram.exe /t:exe /r:MSCorLib.dll MyProgram.cs
(1)理解上述语句中各部分代表的含义
(2)理解响应文件是什么

2.3 元数据概述
复习第一章中有关知识:
一个托管模块的组成部分:PE头、CLR头、元数据、IL代码
(1)能简述PE头、CLR头是什么,以及每个组成部分里有什么
(2)元数据:由几个表构成的二进制数据块
包含三种类型的表:定义表(defination table),引用表Ref(reference table),清单表( manifest table)
能够列举出常用的定义表,引用表已及它们的主要内容
(3)能用ILDasm(IL Disassembler IL反汇编器)查看生成的元数据表,并说出你能看懂的部分
2.4 将模块合并生成程序集
复习第一章中有关知识:
程序集:是一个或多个类型定义文件及资源文件的集合。
其中有一个文件,叫做清单(manifest)。
(1)能说出清单是什么,并简述其内容
(2)列出程序集的重要特点
(3)为什么Microsoft要引入程序集的概念
(3)列举出使用多文件程序集的三点理由
(4)详述将托管模块转换成程序集的清单元数据表,以及它们的内容
(5)举例说明模块合并生成到程序集的过程,以及最终的成果
(6)用ILDasm.exe查看上述例子中的清单元数据表,验证成果
2.4.1使用Visual Studio IDE 将程序集添加到项目中
这个很简单,就是添加引用
2.4.2使用程序集链接器
”程序集链接器“的实用程序AL.exe可以

原创粉丝点击