Extensión ArcMap 9.3 vs 10

10

He actualizado nuestra extensión ArcMap para que funcione con ArcMap 10, principalmente solo cambie la referencia de ESRI.ArcGIS.ADF a ESRI.ArcGIS.ADF.Local y establezca el valor de la propiedad 'Versión específica' para todas las referencias a falso, y también use el nuevo ESRIRegAsm.exe para registrarlo. Entonces, ahora me pregunto si puedo construir una sola extensión que funcione tanto con 9.3.1 como con 10.0 o ¿necesitamos binarios separados para cada producto?

Solsberg
fuente
Buena pregunta. No tengo problemas con una de mis bibliotecas de clase 9.3 (sin extensión). Pero tuve que hacer exactamente lo que hiciste para una extensión porque estaba usando un método obsoleto en una clase que se movió a un espacio de nombres diferente.
Jay Cummins
@solsberg, me doy cuenta de que el hilo es un poco viejo, pero ¿cuál fue el resultado de su investigación? ¿Una sola compilación de su servicio de extensión 9.3.1 y 10, o finalmente necesitó dos compilaciones?
elrobis

Respuestas:

2

De acuerdo con esto, debe volver a compilar:

En ArcGIS 10, ESRI ya no proporciona archivos de políticas. En consecuencia, todos los proyectos de desarrollo de ArcGIS 9.3 y anteriores portados a ArcGIS 10 deben volver a compilarse.

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#//0001000002m2000000

Jay Cummins
fuente
Para aquellos como yo que piensan, "¿qué son los archivos de políticas?" Encontré el siguiente enlace útil. Si entiendo esto correctamente, significa que los tiempos de ejecución 9.x intentarán reenviar automáticamente la actividad en el espacio de nombres ESRI con anticipación (si es necesario) por una versión del tiempo de ejecución: resources.esri.com/help/9.3/arcgisengine/dotnet/…
elrobis
2

También he encontrado algunas diferencias sutiles que pueden tener un impacto negativo. Por ejemplo, la estructura tagRECT se movió a una biblioteca diferente. Esto no causará un problema al compilar, pero puede causar problemas en tiempo de ejecución ya que el RCW intentará reenviar la llamada a la biblioteca COM incorrecta.

Puede haber otras cosas ocultas en las bibliotecas 10.0 como esta, por lo que debe tener cuidado. Puede que no sea un problema si no está utilizando un objeto que se ha movido, pero sí presenta algún riesgo.

En última instancia, es posible que deba tomarlo caso por caso. En general, he encontrado que la migración es bastante indolora.

Bill Dollins
fuente
Puede encontrar una lista oficial de adiciones de interfaz (agregadas), reubicaciones (movidas) y eliminaciones (eliminadas) aquí: help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/…
elrobis