前言:
有段时间没动过AO开发了,突然上手一下子还真有点不习惯。VS也有段时间没用了,最近刚把环境装好,把开发过程中的问题都写出来,话说这些问题都是以前碰到过得,就是因为没记录,所以现在碰到老问题还需要去百度一下,实在汗颜,以后的问题都会记录在案,养成良好的习惯,写出来的才记得最牢靠。
正文:
环境AE10.0+VS2010 .NET的c#语言开发。
当我新建了一个工程后,简单放了MAP控件,尝试运行,第一下就没运行过去,看到报错内容才知道,是因为没没有初始化版本的问题,汗颜这都忘了。
错误:
解决办法:
在系统初始化时候,
program.cs中添加如下一行代码,初始化我的开发环境为AE开发即可。 ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);
好了现在可以运行了,在这里我建立了一个简单的数据库连接,通过sde服务连接的SDE数据库。
可是当在调试过程中,修改代码继续调试的时候,又报错,导致无法调试。
错误:提示无法继续调试,因为引用的COM组件的互操作类型为true,需要设置为false才可以继续调试。
解决办法: 展开项目引用目录,选中所有属于AO的引用,右键->属性->会看到有个属性为互操作类型,设置为false即可。问题解决。
结尾,从事GIS开发好几年了,各种错误都碰到过,当初以为自己碰到了以后就知道怎么弄,结果现在碰到了老问题还是半天想不起来,有的即使想起来了但是不知道解决办法,都忘了,教训,错误无论大小,但凡是错误,以后都许记录在案。