Ekstensi ArcMap 9.3 vs 10

10

Saya telah memperbarui ekstensi ArcMap kami agar berfungsi dengan ArcMap 10 - utamanya hanya mengubah referensi dari ESRI.ArcGIS.ADF ke ESRI.ArcGIS.ADF.Lokal dan menetapkan nilai properti 'Versi Khusus' untuk semua referensi ke false, dan juga menggunakan yang baru ESRIRegAsm.exe untuk mendaftarkannya. Jadi saya bertanya-tanya sekarang apakah saya dapat membangun satu ekstensi yang akan bekerja dengan 9.3.1 dan 10.0 atau apakah kita memerlukan biner terpisah untuk setiap produk?

solsberg
sumber
Pertanyaan bagus. Saya tidak mengalami masalah dengan salah satu perpustakaan kelas 9.3 saya (tidak ada ekstensi). Tapi saya memang harus melakukan apa yang Anda lakukan untuk ekstensi karena saya menggunakan metode usang pada kelas yang pindah ke namespace yang berbeda.
Jay Cummins
@ Solberg, saya menyadari utasnya agak tua, tapi apa hasil investigasi Anda? Apakah satu build dari layanan ekstensi Anda baik 9.3.1 dan 10, atau apakah Anda akhirnya membutuhkan dua build?
elrobis

Jawaban:

2

Menurut ini, Anda harus mengkompilasi ulang:

Di ArcGIS 10, ESRI tidak lagi menyediakan file kebijakan. Akibatnya, semua proyek ArcGIS 9.3 dan pengembangan sebelumnya yang diangkut ke ArcGIS 10 harus dikompilasi ulang.

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

Jay Cummins
sumber
Bagi mereka yang berpikir seperti saya, "apa itu file kebijakan?" Saya menemukan tautan berikut bermanfaat. Jika saya memahami ini dengan benar, itu berarti runtime 9.x secara otomatis akan mencoba untuk meneruskan aktivitas di namespace ESRI di depan (jika perlu) oleh satu versi runtime: resources.esri.com/help/9.3/arcgisengine/dotnet/…
elrobis
2

Saya juga menemukan beberapa perbedaan halus yang dapat berdampak negatif. Misalnya, struct tagRECT dipindahkan ke perpustakaan yang berbeda. Ini tidak akan menyebabkan masalah saat Anda membangun tetapi dapat menyebabkan masalah saat runtime karena RCW akan mencoba meneruskan panggilan ke pustaka COM yang salah.

Mungkin ada hal-hal lain yang tersembunyi di perpustakaan 10.0 seperti ini sehingga Anda harus berhati-hati. Ini mungkin bukan masalah jika Anda tidak menggunakan objek yang telah dipindahkan tetapi hal itu menimbulkan beberapa risiko.

Pada akhirnya, Anda mungkin perlu mengambilnya berdasarkan kasus per kasus. Secara umum, saya telah menemukan migrasi menjadi tidak menyakitkan.

Bill Dollins
sumber
Daftar resmi penambahan antarmuka (ditambahkan), relokasi (dipindahkan), dan penghapusan (dihapus) dapat ditemukan di sini: help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/…
elrobis