轉載請聲明。博客園/B站/CSDN/知乎/小專欄 @秋意正寒
歡迎訪問小專欄,更多WebGIS開發(Cesium等)經驗分享:https://xiaozhuanlan.com/gishome
眾所周知,如果要進行獨立的而不是ArcMap Addins的二次開發,是需要使用ArcEngine的。可是,ArcEngine的授權幾乎是沒有的。
一般比較好弄的授(po)權(jie)是ArcMap為首的ArcGIS Desktop,如果要進行二次開發,無非有兩種:
- Winform的二次開發
- Addins的二次開發
其中,后一種需要額外安裝ArcObjects SDK,AO的授權與Desktop的一樣。
安裝AO有一個限制:有Visual Studio版本限制。例如,10.2只能匹配vs2010和2012,10.4只能匹配vs2013和vs2015.
安裝AO后,與安裝了Engine一樣,在vs的工具箱里會出現MapControl等控件,可以直接拖拽。
===========分割線==========
現在要說的是第一種,如果安裝的是10.4(為例),但是本機的VS版本高於2015,比如安裝了2019,那么AO安裝不上了,我還能不能調用到工具箱里的各種控件呢?
答案是可以的。
只要正確授(po)權(jie)了ArcGIS Desktop,就可以通過導入dll的方式手工引入各種控件。
在VS工具箱里引入
"C:\Windows\assembly\GAC_MSIL\ESRI.ArcGIS.AxControls\10.2.0.0__8fc3cc631e44ad86\ESRI.ArcGIS.AxControls.dll"
這個dll即可,這個dll是10.2的,而我當前開發環境是VS2017社區版。
幾大控件均在此dll中定義,但是這些控件都從屬於ESRI.ArcGIS.Controls這個命名空間下。