许多版友在刚刚使用ArcGIS 10做开发的时候,都会遇到这样那样的问题。在担任实习版主的这一个多月里,看到了这么几个与开发环境相关的问题,重复被提到相当多,于是我就做了这个FAQ。

Q:哪儿有10的ArcGIS Engine SDK?
A:ArcGIS 10不需要安装单独的Engine开发包,在Desktop的镜像中,安装ArcObjects SDK就可以使用Engine的那些控件做开发了。只在部署的时候还需要Engine Runtime。

Q:为什么在9.3中执行正常的代码,在10中会执行出错,抛出异常COMException

10新增了一个dll,ESRI.ArcGIS.Version,添加这个引用。然后在Main方法中,在窗体启动之前,添加这么一行代码:

RuntimeManager.Bind(ProductCode.EngineOrDesktop);重新编译执行即可。

Q:为什么以前正常的代码,现在都编译都通不过了,提示什么“无法嵌入互操作类型...”
 
A:你用的是Visual Studio 2010和C# 4吧?如果是,那就对了。这个问题和Engine本身无关。
这是C# 4对COMInterop的一个改进,把创建CoClass时的类名的Class后缀去掉即可。不允许用CoClass本身,而必须用相应的接口来创建对象。
比如,

IPoint p = new PointClass()改为:

IPoint p = new Point()详细的解释可以看这里的:嵌入的互操作类型(如果尝试使用 CoClass 创建嵌入的 COM 类型的实例,则会导致编译器错误)

Q:为什么以前正常的代码,现在一运行就报错,抛出异常BadImageFormatException
 

A:你的操作系统是64位的Windows吧?可是ArcGIS现在只有32位的,所以必须用X86平台生成项目。
打开项目属性,在“生成”选项卡中找到目标平台,把Any CPU改为x86,重新生成即可。

Q:我要用ArcGIS Engine 10,一定要用Visual Studio 2010吗?

A: 不一定,不论什么版本的Visual Studio和什么版本ArcGIS Engine SDK,都是可以组合的。
因为ArcGIS Engine的SDK是一些COM组件,而C#、VB、VC++对COM的支持一直是有的。
); background-position: 100% 100%; background-repeat: no-repeat no-repeat; ">注:Engine SDK可能会检查系统已安装的VisualStudio版本,比如ArcObjects 10 SDK(内含Engine)只在已有10或者08SP1的系统完成安装。当然,如果有办法绕过去,就没问题了。

可能你装上之后工具箱里面的神马MapControl,SceneControl、LicenseControl都没有出来。
这个没关系,添加工具箱项,找到Engine的dll,添加进来,一切Ok

这个问题还是补充地具体一些吧:
1、在VS工具箱内右键,添加选项卡,取名ArcGIS Windows Form
2、在新选项卡上右键,选择项...
3、点浏览,找到ESRI.ArcGIS.AxControls.dll(缺省安装在"C:\Program Files\ArcGIS\DotNet\ESRI.ArcGIS.AxControls.dll"),打开。
 

4、勾选中新出现的那几个ArcGIS的控件,点确定

最新文章

  1. 将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行
  2. ZXing二维码生成在Unity3D中出错,数组超出界限的解决办法
  3. ASP.NET MVC WEBAPI第一次接触
  4. Centos Another app is currently holding the yum lock
  5. WPF 元素绑定
  6. 禁止ubuntu的super快捷键
  7. C++ typedef 四个用途
  8. 自己编写基于MVC的轻量级PHP框架
  9. Web开发-表单验证
  10. 格式化字符串format函数
  11. 工作中使用seajs后的一些总结
  12. ogg的孩子-无损音频编解码flac
  13. day13.装饰器进阶,迭代器
  14. QT杂记(网上资料整理而成)
  15. 3D印表機 零件採購資訊
  16. WPF插件开发:使用FrameworkElementAdapters时VS报错的问题
  17. POJ3070 Fibonacci(矩阵快速幂加速递推)【模板题】
  18. Linux VMware安装CentOS
  19. php-fpm安装、配置与优化
  20. Android——程序员的情怀——优化BaseAdapter

热门文章

  1. 《Java从入门到失业》第三章:基础语法及基本程序结构(四):基本数据类型(字符编码和char型)
  2. Kafka入门(3):Sarama生产者是如何工作的
  3. HMM隐马尔可夫模型来龙去脉(二)
  4. 由mv命令引发的对inode的思考
  5. @PostConstruct详解
  6. 攻防世界——web新手练习区解题记录<1>(1-4题)
  7. Fibonacci and Counting(水题)
  8. basicInterpreter1.02 增加对for循环的支持
  9. [bash]查找指定目录下符合格式的txt文件
  10. 20190923-10Linux进程线程类 000 018