ArcMap-Erweiterung 9.3 vs 10

10

Ich habe unsere ArcMap-Erweiterung für die Arbeit mit ArcMap 10 aktualisiert. Ändern Sie hauptsächlich die Referenz von ESRI.ArcGIS.ADF in ESRI.ArcGIS.ADF.Local und legen Sie den Wert der Eigenschaft 'Spezifische Version' für alle Verweise auf false fest. Verwenden Sie auch die neue ESRIRegAsm.exe, um es zu registrieren. Ich frage mich jetzt, ob ich eine einzelne Erweiterung erstellen kann, die sowohl mit 9.3.1 als auch mit 10.0 funktioniert, oder benötigen wir für jedes Produkt separate Binärdateien?

Solsberg
quelle
Gute Frage. Ich habe keine Probleme mit einer meiner 9.3-Klassenbibliotheken (keine Erweiterung). Aber ich musste genau das tun, was Sie für eine Erweiterung getan haben, weil ich eine veraltete Methode für eine Klasse verwendet habe, die in einen anderen Namespace verschoben wurde.
Jay Cummins
@solsberg, mir ist klar, dass der Thread etwas alt ist, aber was war das Ergebnis Ihrer Untersuchung? Hat ein einzelner Build Ihres Erweiterungsdienstes sowohl 9.3.1 als auch 10 erstellt oder benötigten Sie letztendlich zwei Builds?
Elrobis

Antworten:

2

Demnach müssen Sie neu kompilieren:

In ArcGIS 10 stellt ESRI keine Richtliniendateien mehr bereit. Folglich müssen alle auf ArcGIS 10 portierten ArcGIS 9.3- und früheren Entwicklungsprojekte neu kompiliert werden.

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

Jay Cummins
quelle
Für diejenigen wie mich, die denken: "Was sind Richtliniendateien?" Ich fand den folgenden Link hilfreich. Wenn ich das richtig verstehe, bedeutet dies, dass die 9.x-Laufzeiten automatisch versuchen, Aktivitäten im ESRI-Namespace (falls erforderlich) um eine Version der Laufzeit weiterzuleiten: resources.esri.com/help/9.3/arcgisengine/dotnet/…
Elrobis
2

Ich habe auch einige subtile Unterschiede gefunden, die sich negativ auswirken können. Beispielsweise wurde die tagRECT-Struktur in eine andere Bibliothek verschoben. Dies verursacht beim Erstellen kein Problem, kann jedoch zur Laufzeit Probleme verursachen, da der RCW versucht, den Aufruf an die falsche COM-Bibliothek weiterzuleiten.

In den 10.0-Bibliotheken sind möglicherweise andere Dinge versteckt, daher müssen Sie vorsichtig sein. Es ist möglicherweise kein Problem, wenn Sie kein Objekt verwenden, das verschoben wurde, aber es birgt ein gewisses Risiko.

Letztendlich müssen Sie es möglicherweise von Fall zu Fall prüfen. Im Allgemeinen habe ich festgestellt, dass die Migration ziemlich schmerzlos ist.

Bill Dollins
quelle
Eine offizielle Liste der Schnittstellenergänzungen (hinzugefügt), Verschiebungen (verschoben) und Entfernungen (entfernt) finden Sie hier: help.arcgis.com/de/sdk/10.0/arcobjects_net/conceptualhelp/…
elrobis