组件

模块

  • 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加载程序集.

 1using system;
 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}

大多数程序集都是按名称加载的.

posted @ 2006-11-26 19:51  南守拥  阅读(198)  评论(0编辑  收藏  举报