再论“ArcGIS AddIN之工具不可用”

工作需要,开发arcgis的addin插件。从网上找了工程范例,编译dll,没有生成esriAddIn文件。

第二次,重新创建addin类型的动态库工程,从范例中复制类文件到工程中,编译dll,正常生成了esriAddIn文件。

在arcmap中的扩展工具中添加插件文件,工具栏上添加上该工具,该工具按钮图标正常亮起;点击该工具按钮后,工具按钮图标变成灰色不可用,没有正常执行工具的业务逻辑。

通过baidu搜索,查到《ArcGIS AddIN之工具不可用》这篇博客。该文中提到,addin工程的命名空间混乱造成插件无法正常使用,并且文中描述工具表现出的失效表现与目前情况一致。

重新检查命名空间,确实发现定制工具类的命名空间与业务Form的命名空间不一致,遂改成一致。

在那个博客的另一篇博文《ArcGIS AddIN开发异常之--修饰符"static"对该项无效》中提到,Config.Designer.cs文件的命名空间的命名路径过长导致异常的问题,且把命名空间路径改短即可解决问题。遂重新检查本项目工程的Config.esriaddin文件中命名空间和类名的内容,发现class名称与实际addin类名不一致。全部修改一致,编译,运行,正常。