.net生成dll在arcmap中添加的问题

    这两天一直在搞ArcMap的dll文件,

   上个星期搞的一个是用C++编写的dll,生成的dll文件是com组件的,直接用regsvr32命令注册,然后就可以再ArcMap中添加工具进行使用啦。

   昨天给我一个用C#写的dll,结果不能添加进ArcMap的工具栏中。前前后后查了大半天的资料,至少知道如何解决了。

   首先,如果用c#写的dll是.net组件的,虽然.Net 的组件与COM 组件都是以“.dll”为后缀,但由于.Net 的机制与COM 有本质区别,所以肯定是不能用regsvr32命令来注册。

   其次,在Add from file命令时,如果添加.net组件的dll,会提示错误:“Can't load type library from special file”。

   查了一些资料,发现应该用regasm命令来注册.net组件并形成一个tlb文件,在arcmap中添加这个tlb文件应该就可以了。如果没有regasm就去下载一个。

————————————————————————————————————————————————————————————————

   网上找的regasm命令有很多,大概有一下几种格式:

   regasm /tlb XX.lib

   regasm xx.lib /codebase

   regasm XX.lib /tlb: XX.tlb

   regasm XX.lib /tlb: XX.tlb /codebase

   实践证明我的电脑上最后一种方法是正确的,一开始用的是第一种方法,因为它也提示了注册成功并成功生成了tlb文件,所以我就一直用这个命令,结果在“Add fro

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值