64位系统下VS2010开发ArcEngine应用的编译问题及解决

3星 · 超过75%的资源 需积分: 10 39 下载量 14 浏览量 更新于2024-09-14 收藏 743KB DOC 举报
"在64位操作系统下使用VS2010开发ArcEngine应用程序时遇到的编译问题,主要是由于尝试加载32位组件导致的错误。" 在64位操作系统上,Visual Studio 2010被用来开发基于ArcEngine的MapControl Application模板的应用程序。开发环境包括ArcGIS Engine 10.0、.NET Framework 3.5以及Visual Studio 2010。当按照标准步骤创建项目并尝试通过MapControl添加图层或指定地图文档时,遇到了一个关键问题。 问题在于,尽管在新建项目并编译时程序可以正常运行,但一旦通过MapControl的属性设置加载地图文档或图层,就会触发编译错误。错误信息指出无法加载文件或程序集`ESRI.ArcGIS.ADF.Local.dll`,这是一个32位(x86)的组件,而系统可能正在尝试以64位(x64)模式运行。 该错误的原因通常与ArcGIS Engine的版本和配置有关,因为它包含有32位组件,而64位操作系统默认可能会尝试编译为64位程序。在Visual Studio中,开发人员需要确保项目配置正确地设置为“Any CPU”或“x86”,以便它能够与32位ArcGIS组件兼容。 解决这个问题的步骤可能包括以下几点: 1. **检查项目平台目标**:确保项目设置中,平台目标选择为"Any CPU",这允许程序在32位或64位环境中运行,根据可用的ArcGIS组件来自动适配。 2. **配置引用的ArcGIS组件**:检查项目引用的ArcGIS组件,确保它们的平台设置与项目匹配。如果需要,将它们设置为“x86”,即使在64位系统上。 3. **修改配置管理器**:在Visual Studio的“解决方案”菜单中,选择“配置管理器”,检查所有项目的平台设置,确保所有相关的项目都设置为“x86”。 4. **安装适当的ArcGIS SDK**:确保已安装了适用于64位操作系统的ArcGIS Developer Kit,因为64位系统可能需要64位版本的SDK来避免这类冲突。 5. **重新构建解决方案**:在更改了上述设置之后,清理并重新构建解决方案,看看错误是否仍然存在。 此外,检查操作系统上的环境变量,特别是PATH变量,确保指向的是正确的ArcGIS库目录。同时,确保所有必要的ArcGIS服务和注册表项已经正确设置,因为这些都可能影响到编译和运行。 解决这个问题的关键是理解和处理32位和64位之间的兼容性问题,以及正确配置Visual Studio项目和引用的ArcGIS组件。通过仔细检查和调整上述设置,应该能够成功在64位操作系统下编译和运行ArcEngine应用程序。