问题描述:
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 中创建。
参考:
本文介绍了解决ArcMap加载自定义工具时出现“NoNewObjectsadded”异常的方法。异常通常由权限不足或.tlb文件编译错误引起。提供两种解决方案:一是以管理员身份运行ArcMap;二是使用Regasm.exe重新编译并注册.tlb文件。
3052

被折叠的 条评论
为什么被折叠?



