许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  解决ArcGIS加载程序集失败:未能加载ESRI.ArcGIS.ADF.Local.dll文件

解决ArcGIS加载程序集失败:未能加载ESRI.ArcGIS.ADF.Local.dll文件

阅读数 4
点赞 0
article_banner

本文参考:http://blog.csdn.net/linghe301/article/details/6180845

(有所修改)

英语原文:http://resources.arcgis.com/zh-cn/content/kbase?fa=articleShow&d=37879

错误          

   当构建基于地图引擎控件的应用程序在一个支持 64 位操作系统 (OS) 针对微软。在 Visual Studio 2010 .Net 3.5 框架,可能会出现以下错误:

"Could not load file   or assembly 'file:///C:/Program Files (x86)/ArcGIS/DeveloperKit10.0/DotNet/ESRI.ArcGIS.3DAnalyst.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.

Line 162, position 5. C:/temp/Projects/MyArcGISControlApp/Form1.resx"    

原因          

   当 Visual Studio 项目包含一个 32 位 (x86) 程序集引用和编译时的资源文件 (.resx) 时,就会出现此问题。在 Visual Studio 2010 .Net 3.5。Visual Studio 使用称为 'ResGen.exe' 在生成过程中的可执行文件。此可执行文件被标记为 MSIL (任何 CPU),作为 64 位 (x64) 进程运行在 64 位操作系统上。Esri 控件如是 32 位和标志,因为它会尝试加载 32 位程序集,并失败。



解决方法    
Microsoft 文章中提供的说明 (文章 ID: 2028833),已足以解决问题。它涉及到更改,迫使它作为 32 位应用程序运行的可执行文件的标头的 CorFlags 条。

要了解这做什么,下面这种情况,请参阅。如果开发人员创建。网络的可执行文件与集到任何的 CPU 的目标平台,这实质上是一个头文件中创建告诉加载和运行的可执行文件在相同的进程空间中运行它的公共语言运行库 (CLR) 的可执行文件。当在 32 位计算机上运行可执行文件,就会为 32 位应用程序 ;和 64 位的计算机上,它会作为 64 位应用程序。

当创建一个可执行文件的引用程序集的特定的进程的空间如开发引擎教程申请的进程空间应始终设置为 x 86 中。因为教程的程序集仅 32 位,这力量始终作为 32 位进程,无论目标机器运行的可执行文件,并允许它只是 32 位的程序集加载。

解决 方法使用 CorFlags.exe 来更改 ResGen.exe 头文件,以便它作为 32 位应用程序运行,并使它正确加载 Esri 32 位程序集。

在 Microsoft 文章中详细介绍的步骤 (文章 ID: 2028833) 可以自动在自己的项目中。为此正常运行 Visual Studio 必须和应以管理员身份运行。

以下解决方法将自定义生成步骤添加到 Visual Studio 项目,暂时更改 'Resgen.exe' 头文件 CorFlags 条,以便在应用程序编译,然后更改它的时候完成。

注意  


  以下说明将基本 Microsoft Visual Studio 文件进行更改,并可能会包含安全风险。继续需要您自担风险。

这些说明是解决方案的由 Microsoft 提供的改编。Esri 概不负责,这可能会导致您的 Visual Studio 安装的任何损害。建议您备份之前 < 安装位置 > /Microsoft SDKs/Windows/v7.0A/bin/ResGen.exe。

操作方法:

如果前面没有看懂一点关系都没有,照着下面的步骤就可以了,前提,你先备份一下程序ResGen.exe和你的程序

位置:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\ResGen.exe

1: 在 Visual Studio 2010 右键单击该项目,然后选择“Unload Project'”(卸载项目)。

2: 再次右键单击项目,然后选择 编辑<项目名>.csproj 。开始编辑项目文件的 XML。

3: 添加以下 XML 到任何地方。建议放在 </Project>标签前面。

(以上三个步骤也可以这么做:用记事本打开<项目名>.csproj 文件,然后将下面内容复制到 </Project>标签前面)

-----------------------------------------------------------------------------------------------


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空