组件
模块
-
CLR程序存在于模块(Module)之中.一个CLR模块是一个字节流,通常做为一个文件存储在本地的文件系统中或者Web服务器上.
- CLR模块格式:PE/COFF表头,PE/COFF的.text部分(含有无数据表的地方) .
模块输出选项:
C# 直接可加载 从Shell中可直接运行 可访问控件台
/t:exe 是 是 总是
/t:winexe 是 是 从不
/t:library 是 否 依赖主机
/t:module 否 否 依赖主机
程序集名称:
四部分:名称\文化\开发人员\组件版本.
公钥和程序集
.net sdk 工具sn.exe 可以简化开发和部署期间的公钥和私钥的工作环节.
使用SN.EXE管理公钥/私钥
(1)sn.exe -k publicprivate.snk (公钥(128字节+32字节表头) 私钥(436字节))
(2)sn.exe -p publicprivate.snk public.snk (公钥(128字节)+32字节表头))
(3)sn.exe -t public.snk (公钥标记是111111111).
CLR加载器
(1)以显式的CODEBASE加载程序集.
2using system.reflection;
3public class utilites{
4 public static lbject loadcustomertype()
5 {
6 assembly a = assembly.loadfrom("file://C:\test.dll")
7 return a.createinstance("test");
8 }
9
10}
大多数程序集都是按名称加载的.