AE10 运行时绑定(解决Could not bind to a valid ArcGIS installation)

本文介绍了如何在ArcGIS 10中使用C#语言进行ArcGIS Engine的绑定操作,包括引用添加、绑定运行时、许可初始化与运行时绑定的完整过程,并提供了关键代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.cnblogs.com/junyuz/archive/2011/08/29/2158090.html

AE10中一个明显的改变就是运行时绑定,ArcGIS10有一些明显的产品架构上变更。新架构最明显的优势是独立存在的ArcGIS DesktopEngine runtime。你可以将ArcGIS DesktopEngine安装在不同的目录下。你同样可以分别为EngineDesktop打补丁。但是这种构架的变化要求你将你的Engine程序以及自定义组件绑定到你机器上指定的产品。独立应用程序既可绑定到Desktop也可以绑定到Engineruntime。但是,要在程序使用AO之前就做好绑定。

那么,应该如何绑定呢(C#实现)

首先添加引用:

ESRI.ArcGIS.Version

然后

ESRI.ArcGIS.RuntimeManager.Bind(ProductCode.Engine)

那么,绑定就结束了,是不是很简单啊。

其他的一些新增函数

 RuntimeManager.BindLicense()

绑定运行时同时初始化许可

 RuntimeManager.InstalledRuntimes

返回已安装的运行时

RuntimeManager.ActiveRuntime

返回当前已绑定的运行时

RuntimeInfo

获得路径、版本等信息

这些信息在网上很容易找到,那么,如果是用C++该如何实现呢

按 Ctrl+C 复制代码
按 Ctrl+C 复制代码

  这是主要的代码,但是仅仅是这样,编译的时候就会出问题,所以在绑定前,还需要LoadVersion,在stdafx.h中添加如下代码

按 Ctrl+C 复制代码
按 Ctrl+C 复制代码

  在InitInstance()中最开始,就调用

::CoInitialize(NULL);

ESRI_SET_VERSION(esriArcGISEngine,
10.0)

InitializeLicense(esriLicenseProductCodeEngine);

  至此,已经完成许可初始化与运行时绑定。

参考资料:

http://help.arcgis.com/EN/sdk/10.0/ArcObjects_NET/conceptualhelp/index.html#//000100000nmm000000

http://hi.baidu.com/o%B3%A3%BD%F8/blog/item/eb9e590dc04a7d0a95ca6ba8.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值