Arcgis Engine中检索 COM 类工厂中 CLSID 为{*} 的组件失败,原因是出现以下错误: 80040111 的解决方法

本文介绍了在使用ArcGIS Engine进行开发时遇到的绑定问题及其解决方案。问题可能源于操作系统版本或开发平台版本不匹配。通过调整配置管理器中的运行平台设置或在程序初始化前加入绑定代码可以解决大部分情况的问题。对于特殊情况,调整绑定顺序也是一种有效的解决方法。

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

最近在学习Arcgis Engine开发时,创建实例时经常会出现下列错误

网上搜索到的解决办法有两种:

1、操作系统版本问题

如果是在Win7 64版本下,可能出现该问题,需要将把配置管理器里的运行平台改成x86。

2、开发平台版本问题

如果是ArcGIS 10.x开发平台,也可能出现该问题,主要是因为在程序初始化之前没有绑定,在Program.cs文件Main()中添加绑定代码即可:

ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);

上述两种方法尝试均无果,最终对比示例代码发现解决方法如下:

在Main()中将

if (!RuntimeManager.Bind(ProductCode.Engine))
            {
                if (!RuntimeManager.Bind(ProductCode.Desktop))
                {
                    MessageBox.Show("Unable to bind to ArcGIS runtime. Application will be shut down.");
                    return;
                }
            }

改为

            if (!RuntimeManager.Bind(ProductCode.Desktop))
            {
                if (!RuntimeManager.Bind(ProductCode.Engine))
                {
                    MessageBox.Show("Unable to bind to ArcGIS runtime. Application will be shut down.");
                    return;
                }
            }

问题即可解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值