《CLR via C#》Part1之Chapter2 生成、打包、部署及管理应用程序及类型(二)
2013-02-28 22:44
423 查看
。元数据概述
一个托管PE文件由4部分构成:PE32(+)头、CLR头、元数据以及IL。
将模块合并到程序集
exe文件不仅仅是一个含有元数据的PE文件,它还是一个程序集(assembly)。程序集是一个或者多个类型定义文件及资源文件的集合。
CLR操作的是程序集。CLR总是首先加载包含“清单”元数据表的文件,再根据“清单”来获取程序集中的其他文件的名称。(清单是一组元数据表的集合)。
程序集的特性:
程序集定义了可重用的类型
程序集标记了一个版本号
程序集可以有关联的安全信息
除了包含清单元数据表的那个文件,程序集的其他单独文件不包含上述特性。
总之,程序集是进行重用、版本控制和应用安全性设置的一个基本单元,它允许将类型和资源文件划分到单独的文件中。
使用Visual Studio IDE将程序集添加到项目中
1,右键“添加引用”
2,为了使自己的程序集出现在“.NET”选项卡的列表中,请在注册表中添加以下子项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NetFramwork\AssemblyFolder\MyLibName,其中MyLibName是自己创建的一个唯一的名称,VS不会显示这个名称,创建好这个子项后,修改它的默认字符串值,使其引用包含了你的程序集的一个目录路径(比如:C:\Windows\MyLibName),由于使用的是HKEY_LOCAL_MACHINE,所以可以为计算机上的所有用户添加这些程序集,如果替换成HKEY_LOCAL_USER,就只能为当前用户添加程序集。
使用程序集链接器
除了使用C#编译器,我们还可以使用“程序集链接器”实用程序AL.exe来创建程序集。
为程序集添加资源文件
程序集版本资源信息
AssemblyFileVersion 这个版本号存储在Win32版本资源中,它仅供参考,CLR既不会检查,也不会关心这个版本号;
AssemblyInformationalVersion 和上一个一样,仅供参考。
AssemblyVersion 这个版本号存储在AssemblyDef清单元数据列表中,CLR在绑定到强命名程序集时,会使用这个版本号。它唯一的标识了一个程序集。
语言文化
除了版本号之外,程序集还将语言文化(culture)作为其身份标识的一部分。
一个托管PE文件由4部分构成:PE32(+)头、CLR头、元数据以及IL。
将模块合并到程序集
exe文件不仅仅是一个含有元数据的PE文件,它还是一个程序集(assembly)。程序集是一个或者多个类型定义文件及资源文件的集合。
CLR操作的是程序集。CLR总是首先加载包含“清单”元数据表的文件,再根据“清单”来获取程序集中的其他文件的名称。(清单是一组元数据表的集合)。
程序集的特性:
程序集定义了可重用的类型
程序集标记了一个版本号
程序集可以有关联的安全信息
除了包含清单元数据表的那个文件,程序集的其他单独文件不包含上述特性。
总之,程序集是进行重用、版本控制和应用安全性设置的一个基本单元,它允许将类型和资源文件划分到单独的文件中。
使用Visual Studio IDE将程序集添加到项目中
1,右键“添加引用”
2,为了使自己的程序集出现在“.NET”选项卡的列表中,请在注册表中添加以下子项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NetFramwork\AssemblyFolder\MyLibName,其中MyLibName是自己创建的一个唯一的名称,VS不会显示这个名称,创建好这个子项后,修改它的默认字符串值,使其引用包含了你的程序集的一个目录路径(比如:C:\Windows\MyLibName),由于使用的是HKEY_LOCAL_MACHINE,所以可以为计算机上的所有用户添加这些程序集,如果替换成HKEY_LOCAL_USER,就只能为当前用户添加程序集。
使用程序集链接器
除了使用C#编译器,我们还可以使用“程序集链接器”实用程序AL.exe来创建程序集。
为程序集添加资源文件
程序集版本资源信息
AssemblyFileVersion 这个版本号存储在Win32版本资源中,它仅供参考,CLR既不会检查,也不会关心这个版本号;
AssemblyInformationalVersion 和上一个一样,仅供参考。
AssemblyVersion 这个版本号存储在AssemblyDef清单元数据列表中,CLR在绑定到强命名程序集时,会使用这个版本号。它唯一的标识了一个程序集。
语言文化
除了版本号之外,程序集还将语言文化(culture)作为其身份标识的一部分。
相关文章推荐
- 《CLR via C#》Part1之Chapter2 生成、打包、部署及管理应用程序及类型
- CLR via C# 3 读书笔记(10):第2章 生成、打包、部署和管理应用程序与类型 — 2.2 将类型生成为模块
- CLR via C# 3 读书笔记(13):第2章 生成、打包、部署和管理应用程序与类型 — 2.4 将模块组合为程序集(下)
- CLR via C# 3 读书笔记(14):第2章 生成、打包、部署和管理应用程序与类型 — 2.5 程序集版本资源信息
- CLR via C# 3 读书笔记(15):第2章 生成、打包、部署和管理应用程序与类型 — 2.6 语言文化 & 2.7 简单应用程序部署
- 《CLR via C#》读书笔记 之 生成、打包、部署和管理应用程序及类型
- CLR via C# 3 读书笔记(11):第2章 生成、打包、部署和管理应用程序与类型 — 2.3 元数据简介
- CLR via C# 3 读书笔记(16):第2章 生成、打包、部署和管理应用程序与类型 — 2.8 简单管理控制(配置)
- CLR via C# 3 读书笔记(12):第2章 生成、打包、部署和管理应用程序与类型 — 2.4 将模块组合为程序集(上)
- CLR基础---生成、打包、部署和管理应用程序及类型(一)
- CLR基础---生成、打包、部署和管理应用程序及类型(一)
- CLR只记不看笔记(二) 生成、打包、部署和管理应用程序及类型
- CLR基础---生成、打包、部署和管理应用程序及类型(二)
- CLR基础---生成、打包、部署和管理应用程序及类型(二)
- Chapter2 生成、打包、部署和管理应用程序及类型
- 第二章:生成、打包、部署和管理应用程序及类型
- 第二章 生成、打包、部署和管理应用程序及类型
- 第 2 章 生成、打包、部署和管理应用程序及类型
- 第二章 生成、打包、部署和管理应用程序及类型
- CLR.Via第三版第二章 生成、打包、部署和管理i应用程序及类型(