之前基于AE9.3做的工具,使用的组件包括地图的显示控件和数据图层操作组件等等,
代码升级是根据ESRI的官方文档做的,网页如下:
How to migrate ArcGIS 9.3 Desktop and Engine stand-alone applications to ArcGIS 10
直接在VS 2010中打开解决方案,转换好之后,运行程序,弹出提示窗口说未找到ESRI.ArcGIS.Carto 9.3组件
找不到原因,仔细看了编译警告,提示一堆,如下:
无法解决“ESRI.ArcGIS.Carto, Version=10.0.0.0, Culture=neutral, PublicKeyToken=8fc3cc631e44ad86”与“ESRI.ArcGIS.Carto, Version=9.3.0.1770, Culture=neutral, PublicKeyToken=8fc3cc631e44ad86”之间的冲突。正在随意选择“ESRI.ArcGIS.Carto, Version=10.0.0.0, Culture=neutral, PublicKeyToken=8fc3cc631e44ad86”。
无法解决“ESRI.ArcGIS.Geodatabase, Version=10.0.0.0, Culture=neutral, PublicKeyToken=8fc3cc631e44ad86”与“ESRI.ArcGIS.Geodatabase, Version=9.3.0.1770, Culture=neutral, PublicKeyToken=8fc3cc631e44ad86”之间的冲突。正在随意选择“ESRI.ArcGIS.Geodatabase, Version=10.0.0.0, Culture=neutral, PublicKeyToken=8fc3cc631e44ad86”。
请考虑使用 app.config 将程序集“ESRI.ArcGIS.Geodatabase, Culture=neutral, PublicKeyToken=8fc3cc631e44ad86”从版本“9.3.0.1770”[]重新映射到版本“10.0.0.0”[C:/Program Files/ArcGIS/DeveloperKit10.0/DotNet/ESRI.ArcGIS.Geodatabase.dll],以解决冲突并消除警告。
请考虑使用 app.config 将程序集“ESRI.ArcGIS.Geometry, Culture=neutral, PublicKeyToken=8fc3cc631e44ad86”从版本“9.3.0.1770”[]重新映射到版本“10.0.0.0”[C:/Program Files/ArcGIS/DeveloperKit10.0/DotNet/ESRI.ArcGIS.Geometry.dll],以解决冲突并消除警告。
.....
于是参考网上的类似问题解决方案,添加了一个App.Config文件,
折腾完之后,编译的警告确实消失了,但弹出的出错提示窗体仍然存在,于是乎,开始调试代码,
最终发现是以前的封装9.3的一个DLL未更新,于是重新编译生成了此DLL,问题解决啦