高版本Visual Studio和低版本ArcGIS共存 工具箱没有控件的解决方法

转载请声明。博客园/B站/CSDN/知乎/小专栏 @秋意正寒

欢迎访问小专栏,更多WebGIS开发(Cesium等)经验分享:https://xiaozhuanlan.com/gishome

众所周知,如果要进行独立的而不是ArcMap Addins的二次开发,是需要使用ArcEngine的。可是,ArcEngine的授权几乎是没有的。

一般比较好弄的授(po)权(jie)是ArcMap为首的ArcGIS Desktop,如果要进行二次开发,无非有两种:

  • Winform的二次开发
  • Addins的二次开发

其中,后一种需要额外安装ArcObjects SDK,AO的授权与Desktop的一样。

安装AO有一个限制:有Visual Studio版本限制。例如,10.2只能匹配vs2010和2012,10.4只能匹配vs2013和vs2015.

安装AO后,与安装了Engine一样,在vs的工具箱里会出现MapControl等控件,可以直接拖拽。

 

 

===========分割线==========

现在要说的是第一种,如果安装的是10.4(为例),但是本机的VS版本高于2015,比如安装了2019,那么AO安装不上了,我还能不能调用到工具箱里的各种控件呢?

答案是可以的。

只要正确授(po)权(jie)了ArcGIS Desktop,就可以通过导入dll的方式手工引入各种控件。

在VS工具箱里引入

"C:\Windows\assembly\GAC_MSIL\ESRI.ArcGIS.AxControls\10.2.0.0__8fc3cc631e44ad86\ESRI.ArcGIS.AxControls.dll"

这个dll即可,这个dll是10.2的,而我当前开发环境是VS2017社区版。

 

几大控件均在此dll中定义,但是这些控件都从属于ESRI.ArcGIS.Controls这个命名空间下。

posted @ 2019-09-09 17:37  秋意正寒  阅读(...)  评论(...编辑  收藏