asp.net DLL注册为COM详细做法

作者:袖梨 2022-06-25

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 & "
"

strtemp = objencrytool.en(strtemp)

response.write strtemp & "
"

strtemp = objencrytool.de(strtemp)

response.write strtemp & "
"

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

 

相关文章

精彩推荐