arcengine开发中遇到的错误汇总 ArcGIS无法嵌入互操作类型解决办法例 ArcGIS version not specified. You must call RuntimeManager.Bind before creat解决方法例:

HRESULT:0x80040215的解决方法

    在使用ITopologicalOperator求交集等操作的时候,有时候会出现“HRESULT:0x80040215”的问题,原因是空间坐标参考不一致,将其设置为一致便可解决问题。

  无法嵌入互操作类型“ESRI.ArcGIS.Carto.FeatureLayerClass”。请改用适用的接口

解决:

  1、展开当前项目(Project)的“引用”;

  2、找到引用的“ESRI.ArcGIS.Carto”,然后鼠标右键--属性。

  3、将“嵌入互操作类型”改为“False”

ArcGIS version not specified. You must call RuntimeManager.Bind before creat解决方法例:

1、打开

Program.cs把ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);这句放到Application.SetCompatibleTextRenderingDefault(false);和Application.Run(new Form1());之间应该就好了

2、在系统的入口添加下面的一行代码:

  1. ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);  
  2. 如果还不行When we migrate our code from ArcGis 9.3 to ArcGis 10 then this type of error occurs. 1.First we add Reference ESRI.ArcGis.ADF.Local

    2.Add Reference ESRI.ArcGis.Version

    3.Add Line 

    “ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Desktop); ”

    prior to call any arcgis object.

    4.In all ArcGis Reference property "Specific Version" set to false.

    5.Now Go to Project menu of visual studio and there are one option "Add ArcGis License Checking" and Add this file to your project.

ArcEngine经常遇到的一类错误就是关于权限问题,一般出现类工厂未注册错误就是权限问题,需要在程序的入口加上ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Desktop);这段代码;

我比较奇葩的有一次加了这句话,程序总是提示许可绑定不成功,仔细看了看,许可也加了,引用也没有问题,那问题出在哪呢?最后很奇葩的发现问题原来出在目标平台上,应该将目标平台改为x86,之前也知道这个,但是这次调试并未提示要求修改目标平台的警告,所以就忽略了这一点,吸取这次教训,以后每一次建立AE的项目我都会先更改一下目标平台,如果用的框架是.net4.0就把用到的引用的互操作类型、默认版本等统统改为false;