• 高版本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:WindowsassemblyGAC_MSILESRI.ArcGIS.AxControls10.2.0.0__8fc3cc631e44ad86ESRI.ArcGIS.AxControls.dll"

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

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

  • 相关阅读:
    算法
    autoreleasepool和weak
    记录一下锁如何使用
    RunLoop相关知识
    NSTimer内存泄漏的解决方案
    ARC下block循环引用的解决方式
    MGJRouter源码解析及使用方法
    Instruments 中Time Profile的使用
    NSFileManager的基本使用
    Runtime相关知识
  • 原文地址:https://www.cnblogs.com/augustuss/p/13539070.html
Copyright © 2020-2023  润新知