项目为 ArcEngine 9.3 版本的开发环境:Windows Server 2003/Windows 7(x86),Visual Studio 2008,.Net Framework 3.5,
升级为 ArcEnging 10.0 版本的开发环境:Windows Server 2008(x64),Visual Studio 2010。
升级过程中将 9.3 的程序集引用替换为 10.0 的版本,重新生成,出现如下错误:
将项目的 Framework 从 3.5 升级为 4.0。
解决方案二:
1、关闭所有Visual Studio;
2、以管理员的身份打开VS2010的命令提示窗口;
3、更改目录至"<system_drive>:\Program Files (x86)\Microsoft SDKs\Windows\v<x.xx>\bin\”下面;
4、输入该命令corflags /32bit+ ResGen.exe /force,执行;
5、使用记事本打开<project_name>.csproj文件;
6、在PropertyGroup下添加<ResGenToolArchitecture>Managed32Bit</ResGenToolArchitecture>,保存,关闭退出。
在解决方案二中,若没有给项目文件添加<ResGenToolArchitecture>Managed32Bit</ResGenToolArchitecture>,则会出现错误:
事实上出现如上诸多问题是由于操作系统位数不一致导致的,而在 Windows Server 2003 (x86),ArcEngine 10.0 环境下升级不会出现问题。由于当时升级时懒得去搭建环境,而采用已有的64位环境,搞得焦头烂额。