问题描述:
ArcMap添加自定义工具经常会出现“No New Objects added”的异常提示
原因分析:
添加的 XX.tlb 文件未正确注册造成,可能原因有两种:
1、权限不够导致添加失败 2、tlb文件编译不正确
解决方案:
方法一、点击"ArcMap"程序图标,右键以管理员运行然后加载即可。
方法二、如第一种方法解决不了,可能是因为tlb文件编译问题导致,需要重新编译tlb。通过微软.NET Framework程序集注册工具(Regasm.exe)重新在运行机器上注册生成tlb文件(无需执行方法一步骤)。注册语法如下:
regasm XX.dll /tlb: XX.tlb /codebase
注意:必须加 /codebase 执行,否则无效。
反注册方法(注销):
regasm /u XX.dll
Regasm.exe 的作用:
程序集注册工具读取程序集中的元数据,并将所需的项添加到注册表中。注册表允许 COM 客户程序以透明方式创建 .NET Framework 类。类一经注册,任何 COM 客户程序都可以使用它,就好像该类是一个 COM 类。类仅在安装程序集时注册一次。程序集中的类实例直到被实际注册时,才能从 COM 中创建。
参考: