ARCENGINE 10 开发遇到的一些问题
许多版友在刚刚使用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的控件,点确定
转载于:https://www.cnblogs.com/xiaoyanbing/p/3826541.html
ARCENGINE 10 开发遇到的一些问题相关推荐
- ArcGIS Engine 10 开发常见问题的解决方法
ArcGIS Engine 10 开发常见问题的解决方法 You are not Licensed for 弹出提示框,点击确定,VS工程自动关闭 http://www.cnblogs.com/Ris ...
- 微软建议Windows 10开发人员升级到Visual Studio 2017
既然Visual Studio 2017已经发布,那就意味着微软开始专注于让其成为默认开发平台.Creators Update SDK的发布(面向即将到来的Windows 10 Creators Up ...
- 用pycharm搭建odoo 12, 11,10 开发调试环境
用pycharm搭建odoo 12, 11,10 开发调试环境 个人认为在windows平台下Pycharm 是最好的 odoo开发工具, 配置简单,操作简便,界面清爽,支持远程调试python,ja ...
- 小米android10升级版本,小米9 MIUI安卓10开发版已开始推送,建议大家不要去升级!...
原标题:小米9 MIUI安卓10开发版已开始推送,建议大家不要去升级! 近期,有小米9用户接到了安卓10的开发版更新,此前Android Q开发版一直在内测中,并没有说明何时结束,这次意外接到系统更新 ...
- mingw版本下qt与HTML,QT5.10开发(2) 在Windows 10下使用MinGW编译 静态Qt 5.10 release版 详细过程...
Qt建议安装动态链接Dbug版和编译安装静态链接release版 前提: 先安装动态链接Dbug版,方法:QT5.10开发(1)安装QT5.10 地址:http://blog.csdn.net/qq_ ...
- Android 10开发之 保存、读取图片
Android 10开发之 保存.读取图片 概述 从Android 10(Q)开始,谷歌就开始修改了外部存储权限,叫做分区存储,分区存储可以分为两个目录,分别是 沙盒目录(App-specific d ...
- 一网成擒全端涵盖,在不同架构(Intel x86/Apple m1 silicon)不同开发平台(Win10/Win11/Mac/Ubuntu)上安装配置Python3.10开发环境
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_200 时光荏苒,过隙白驹,即将进入2022年,著名敏捷开发语言Python也放出了3.10最终版,本次我们来展示一下在不同的系统和 ...
- Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构...
分享两篇Win 10应用开发的XML文档结构:Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构. Win 10 开发中Adapt ...
- 小米note3android版本彩蛋,MIUI 10开发版8.12.13更新:小米MIX 3新增滑盖音效“江湖”彩蛋...
IT之家12月14日消息 今天小米推送了MIUI 10 8.12.13开发版更新,其中小米MIX 3新增了滑盖音效「江湖」的彩蛋,快速滑动可触发彩蛋:修复了小米8/小米8屏幕指纹版/小米MIX 2S/ ...
- Windows 10开发教程_编程入门自学教程_菜鸟教程-免费教程分享
教程简介 Windows 10开发入门教程 - 从简单的步骤了解Windows 10开发,从基本到高级概念,包括简介,UWP,第一个应用程序,商店,XAML控件,数据绑定,XAML性能,自适应设计,自 ...
最新文章
- 关于开始申请2010年4月份微软MVP的通知!
- Android移动开发之【Android实战项目】DAY13-MPChart简单的折线图LineChart
- nyoj 1261 音痴又音痴的LT(离散化+树状数组求K小数)
- IntelliJ IDEA16 热部署,解决每次修改java文件就得重启tomcat的问题
- mysql5.6优化建议
- 线性表—顺序存储结构-顺序表
- 给你一个亿-电视节目总结
- with ...as ...
- asp.net 通过context.RewritePath和ashx开发接口
- R语言基本统计分析方法(包及函数)
- VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)
- 请问smartadmin中如何只用其treeview 组件?
- 单细胞测序的marker基因
- 「股票」东方财富网公式-缩量
- 杭州图书馆对所有读者免费开放 包括乞丐【让我感动的图书馆】
- 套汇算法c语言,在金字塔下实现套利策略的测评
- 栈的应用 - 波兰式与逆波兰式
- java 虚拟机(3)
- 使用CAXA建立螺纹
- C++面向对象(一):面向对象程序设计概述