zoukankan      html  css  js  c++  java
  • ArcEngine9.1结合VS2005开发技巧2则

    ArcEngine9.1结合VS2005开发技巧2则

    尽管ArcGIS9.2中文版都已经发不了,但是对于学生来说用那个版本到时没多大区别。身边还是有不少朋友再用AE9.1,原来用的时候还不写博客,今天正好有同事碰到问题讨论,想起了自己以前遇到的问题,就这里总结一下。

    1.让AE9.1和VS2005一起工作

    AE9.1带的针对.net框架的Interop 程序集安装包是为vs2003+.net1.1量身定做的,当时.net2.0还没有出来。

    关于Interop 程序集是什么的详细信息,请查询《向 .NET Framework 公开 COM 组件》,MSDN地址是:ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_fxinterop/html/e78b14f1-e487-43cd-9c6d-1a07483f1730.htm  

    为了让AE9.1和2005一块工作,需要:

    首先,安装.Net1.1 Framework

    然后,安装AE9.1 DevKit。

    这样才可以在ToolBox中正确添加控件,注意是从.net面板添加,而不是COM面板。还要注意的是控件是以ax开头的(如axMapControl),一般排在开头。命名空间是形如ESRI.ArcGIS.xxxx。

    如果没有装1.1框架,也是可以用,但是用的深入的话可能有一些问题,以前遇到过,具体什么问题倒是给忘记了。只是记得需要从COM面板添加,命名空间是如esriMapControl之类的。

    2.解决类似"类型同时存在于ESRI.ArcGIS.AxMapControl.dll和ESRI.ArcGIS.MapControl.dll中"的错误

    解决问题的要点是其中一个命名空间要取别名代替。取别名的方法如下,记得还得修改引用中程序集dll的别名,如图。

    extern alias toc;

    extern alias map;

    using map.ArcGIS.MapControl;

    using toc.ESRI.ArcGIS.TOCControl;

    错误信息大概如下:

    类型"ESRI.ArcGIS.MapControl.IMapControlEvents2_OnMouseDownEventHandler"同时存在于"d:\Program Files\ArcGIS\DotNet\ESRI.ArcGIS.AxMapControl.dll"和"d:\Program Files\ArcGIS\DotNet\ESRI.ArcGIS.MapControl.dll"中    C:\Documents and Settings\jackey_young\桌面\test\ttt\ttt\Form1.Designer.cs

    类型"ESRI.ArcGIS.MapControl.IMapControlEvents2_OnExtentUpdatedEventHandler"同时存在于"d:\Program Files\ArcGIS\DotNet\ESRI.ArcGIS.AxMapControl.dll"和"d:\Program Files\ArcGIS\DotNet\ESRI.ArcGIS.MapControl.dll"中    C:\Documents and Settings\jackey_young\桌面\test\ttt\ttt\Form1.Designer.cs    

  • 相关阅读:
    实习第一周小记------生活不易
    第一次实习面试感受----苦逼程序员生活初体验
    第一次实习面试感受----苦逼程序员生活初体验 分类: 程序人生 2013-07-28 14:13 2395人阅读 评论(0) 收藏
    Java-基于JDK的动态代理
    JS字符串去替换元素再转换成数组
    byte溢出栗子
    Java链式写法
    Scala笔记
    Java反射使用方法
    Java数组3种创建方式
  • 原文地址:https://www.cnblogs.com/flyingfish/p/751851.html
Copyright © 2011-2022 走看看