一、不生成具有强名称的程序集
1. 使用下面这两个命令将 COM 控件转换成 .Net 程序集
aximp c:\windows\system\shdocvw.dll
tlbimp mshtml.tlb
aximp 将产生两个文件: AxSHDocVw.dll and SHDocVw.dll.
tlbimp 将产生 MSHTML.dll ,它包含了 3000 多个 DHTML DOM 的接口,所以转换可能需要一些时间 .
2. 上面产生的 DLL 文件直接可由 .Net 应用程序调用了。
二、生成具有强名称的程序集
1. 用 sn 命令生成三个 snk 文件,分别是后面将要生成的程序集的密钥文件
Sn –k AxSHdoc.snk
Sn –k shdocvw.snk
Sn –k mshtml.snk
2. 使用上面 aximp 和 tlbimp 生成这三个程序集文件,这些命令加上 /keyfile: 可选项
aximp c:\windows\system\shdocvw.dll /keyfile:AxSHDOC.snk shdocvw.snk
tlbimp mshtml.tlb /keyfile:mshtml.snk
这样就可以生成具有强名称的程序集了。
3. 把它们加到程序集缓存中,分别调用
Gacutil axshdocvw.dll
Gacutil shdocvw.dll
Gacutil mshtml.dll
打开全局程序集缓存,就可以看到这三个程序集已经在列表中了。
在 C:\winnt\assembly 也可以看到了。