Apoyo una aplicación .NET que se ha compilado en una PC con ArcGIS 10.1 instalado. La aplicación consta de una interfaz de usuario y una extensión de escritorio ArcGIS, más un ensamblaje de instalador que Windows Installer llama para registrar la extensión de escritorio durante la instalación.
El problema que tengo es que la aplicación no se ejecutará en una PC con ArcGIS 10.2 porque no se encuentran los ensamblados ESRI 10.1, por lo que se bloquea. Parece que desde v9.3 ESRI ya no suministra archivos de políticas de editor para redirigir el programa en tiempo de ejecución a las últimas versiones.
He logrado redirigir el programa para cargar los ensamblajes 10.2 agregando el enlace de ensamblaje en tiempo de ejecución en el archivo .exe.config de la aplicación. Sin embargo, esto no redirige la extensión del escritorio y no resolverá el problema con el instalador que busca las bibliotecas 10.1 al instalar la aplicación.
La solución de ESRI parece ser volver a compilar la aplicación cada vez que se lanza una nueva versión de ArcGIS. Sin embargo, esto significa que necesitaría tener una copia de cada versión de ArcGIS que usan los usuarios finales. Y tendría que desinstalar y volver a instalar diferentes versiones cada vez que necesite cambiar el código de la aplicación para volver a compilarlo.
¿Alguien tiene alguna sugerencia? ¿Se pueden cargar las bibliotecas dinámicamente en tiempo de ejecución para evitar buscar una versión específica? hay alguna otra solucion?
Puede ser mejor para usted cambiar la arquitectura de su proyecto a un complemento ESRI. De esta forma evitará tratar con el instalador de Windows que, si entiendo que su arquitectura está tratando correctamente con el registro de Windows.
Los complementos son mucho más sencillos, no requieren instaladores específicos de Windows, solo se envían como un archivo .zip especial que es el tipo de archivo .esriAddIn, y son los recomendados por ESRI. Estos no tratan con el registro de Windows, solo ESRI e instalan con un solo clic del archivo. Deberían aplicar mejor los cambios que Rich Wawrzonek ha sugerido.
Además, ESRI ha declarado ( ver en la presentación aquí ) que dentro de las versiones principales, es decir, los complementos 10.x son compatibles con versiones anteriores, es decir, 10.2 puede usar los complementos 10.1 y 10.0, 10.1 puede usar los complementos 10.0. Con la advertencia de que debe tener en cuenta si las cosas se han eliminado o cambiado en ArcObjects durante la transición.
Por ejemplo, la firma del método para el método OnContextMenu se ha cambiado en 10.2 para las siguientes interfaces:
En cuanto a las eliminaciones, las únicas eliminaciones en 10.2 fueron :
Al resto de los cambios se les agregó funcionalidad.
Para responder a su pregunta en los comentarios a continuación, Sí, esto debería garantizar que no tenga que compilar para diferentes versiones de Arc (siempre y cuando permanezca en 10.x). Cuando hacen el cambio a 11, esta puede ser una historia diferente. En cuanto a admitir MapInfo, no estoy familiarizado con esto.
fuente