首页 > 技术文章 > 自学》5.程序集 英文:assembly

alasq 2016-05-01 12:03 原文

程序集:

1.简单点理解就是DLL和EXE。并不是所有的dll都是程序集,里面有些是模块。

2.程序集里面就是  我们写的代码  自身的描述性文件 再就是包含的资源。换句话说  程序集=模块+特性

3.程序集特性就是,这个代码谁写的,干嘛用的,啥时候写的,可不可以买卖,在哪个国家卖 等等。

应用程序域:

4.我的理解就是让代码跑起来的地方。

5.也就是任务管理器里面的进程,用来加载程序集的,不过一个进程里面可以有多个应用程序域

共享程序集

6.电脑里面很多dll不是只能一个程序用,这种就是共享的dll,为了要给一个唯一的名字来识别他(强名

7.强名包括(程序集名称,版本号,公钥,文化)

  (强名工具 sn) 创建强名:    sn -k mykey.snk  这样自动生成一对 公钥/私钥

           延迟签名:sn -p mykey.snk  mykeypub.snk   提取公钥

                sn -Vr xxx.dll   关闭签名验证功能

                sn -R  xxx.dll  mykey.dll 重新签名

         然后在VS发布设置里面  signing选项卡选择  mykey.pfx文件作为密钥。

 

8.我们电脑里面有个 全局程序集缓存GAC(global assembly cache),用来放这些dll文件的,安装应用的时候就放这里。

9.用啥子安装呢?   工具gacutil.exe     

  • gacutil/l   显示本电脑GAC所有的程序集
  • gacutil/i /f  mydll   安装mydll,/f 强制安装,有的话就直接覆盖
  • gacutil/u mydll     卸载

10.安装好了就可以开始引用这个程序集了。

  还是用gacutil.exe, gacutil /i xxx.dll /r FILEPATH C:\..\..\.. "xxx"

推荐阅读