我支持已在装有ArcGIS 10.1的PC上编译的.NET应用程序。该应用程序包括一个用户界面和一个ArcGIS桌面扩展,以及一个Windows Installer调用的安装程序程序集,用于在安装过程中注册该桌面扩展。
我的问题是该应用程序无法在装有ArcGIS 10.2的PC上运行,因为未找到10.1 ESRI程序集,因此它崩溃了。从v9.3 ESRI开始,似乎不再提供发布者策略文件,从而在运行时将程序重定向到最新版本。
通过将运行时程序集绑定添加到应用程序的.exe.config中,我设法重定向了程序以加载10.2程序集。但是,这不会重定向桌面扩展,也不会解决安装程序在安装应用程序时寻找10.1库的问题。
ESRI的解决方案似乎是每次发布新版本的ArcGIS时都重新编译应用程序。但是,这意味着我将需要拥有最终用户使用的每个ArcGIS版本的副本。每次需要更改应用程序代码以重新编译时,我都必须卸载并重新安装不同的版本。
有没有人有什么建议?是否可以在运行时动态加载库以避免寻找特定版本?还有其他解决方案吗?