1、开发环境下,在vs.net2003或2005的ide环境中可以实现com组件的自动注册,设置如下:项目名称->右键"属性"->配置属性->生成->选中"为com interop注册",编译即可。
2、用强名称的方式
(1)、创建强名字
sn –k mycom.snk
并将强名字拷贝到工程目录下面
在assembyinfo.cs修改对应的配置
[assembly: assemblykeyfile(@"http://www.cnblogs.com/mycom.snk")]
[assembly:comvisible(true)]
(2)、注册装配件
regasm mycom.dll /tlb:mycom.tlb
(3)、将装配件加入gac
gacutil -i mycom.dll
3、不用强名称的方式
regasm mycom.dll /tlb:mycom.tlb /codebase
注意codebase的使用,如果你要注册的.net程序集没有强名称的话,那么在使用regasm注册的时候就要加上/codebase,这是指设置注册表中的基本代码,也就是记录下dll的路径。
注册完毕,创建对象及使用方法与上面相同:
set mydll = server.createobject("mycom.object")
mydll.method
如调用oa4中的加密解密工具,asp教程代码如下:
<%
dim objencrytool
dim strtemp
set objencrytool = server.createobject("routdata.devbase.basetools.encrytool")
strtemp = "abc-jian"
response.write strtemp & "<br>"
strtemp = objencrytool.en(strtemp)
response.write strtemp & "<br>"
strtemp = objencrytool.de(strtemp)
response.write strtemp & "<br>"
set objencrytool = nothing
%>
注意,要发布的类方法不能为static
程序集注册工具 (regasm.exe)
http://msdn.microsoft.com/library/chs/default.asp?url=/library/chs/cptools/html/cpgrfassemblyregistrationtoolregasmexe.asp
强名称工具 (sn.exe)
http://msdn.microsoft.com/library/chs/default.asp?url=/library/chs/cptools/html/cpgrfassemblyregistrationtoolregasmexe.asp