前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ArcGIS二次开发前言

ArcGIS二次开发前言

作者头像
全栈程序员站长
发布2022-09-07 16:04:38
9290
发布2022-09-07 16:04:38
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

ArcGIS二次开发前言

前言

自毕业成为GIS开发工程师已有一年多的时间,时间很短,短到不过人一生中工作时限的3.75%,时间很长,长到收藏夹已经从零攒到了一千四百多条记录,OneNote上也记录了几十万字笔记,与初离象牙塔的懵懂已不可同日而语。听着这一年似乎学了很多,但老实说,给知识做加法再容易不过,给知识做减法才是真正的挑战。为方便自己融会贯通,温故知新,特趁着年底总结自己梳理一遍自己的知识体系。知识体系中也可能有不完善之处,还望各位前辈多多指教。

环境

(1)Windows 不同版本的arcgis支持的windows系统也有所不同,尽量使用该版本支持的Windows系统会提高开发结果的稳定性。我个人平时工作习惯用arcgis10.2.2开发,在不同系统中开发有些问题会有不同的表现形式,经测试发现,就win10系统而言,该版本与1909版的win10兼容性较好。 (2)ArcGIS arcgis的开发主要包括AO(ArcObject)和AE(ArcEngine)两种模式。二者主要有以下几点区别: 1.开发环境 AO须要安装ArcGIS Desktop和ArcObjects,AE只须要安装ArcEngine Runtime和Develop Kit(SDK)即可; 2.功能 AO功能更丰富。AE只是提炼了AO的核心功能,对AO中的大部分接口、类库进行封装构成的嵌入式组件 二者的开发方法相同,具体就看使用需求了。

常见bug解决方案

(1)在引用ESRI.ArcGIS的库时,出现黄色感叹号 解决方案:将引用库右键——属性——不同版本设为false,这样就可以编译不同版本的arcgis啦~

在这里插入图片描述
在这里插入图片描述

(2)“无法嵌入的互操作类型,请改用合适的接口” 解决方案: 将嵌入互操作类型改为False。 以下是该项设置的具体含义: 1.”嵌入互操作类型”中的嵌入就是引进、导入的意思,类似于c#中using,目的是告诉编译器是否要把互操作类型引入。 2. “互操作类型”实际是指一系列Com组件的程序集,是公共运行库中库文件,类似于编译好的类,接口等。 3. “嵌入互操作类型”设定为true,实际上就是不引入互操作集(编译时候放弃Com程序集),仅编译用户代码的程序集。而设定为false的话,实际就是需要从互操作程序集中获取 COM 类型的类型信息。

在这里插入图片描述
在这里插入图片描述

(3)检索COM类工厂中为CLSID为{XXXXXXXXX}的组件时失败 首先排查控件是否注册成功,若控件注册成功且依然报错,在64位系统中,可以试试项目右键——属性——生成——常规——目标平台改为x86,这通常是第三方COM组件只支持32位引起的,这在低版本的arcgis二次开发中经常会遇到。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148492.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ArcGIS二次开发前言
  • 前言
  • 环境
  • 常见bug解决方案
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档