runtime繫結:
在arcgis engine10.0中,許可方式發生了一定的變化,arcgis10有乙個新的要求---runtime繫結。就是在任何arcobjects**(包括許可初始化**)被執行前,指定相稱的arcgis產品---
arcgis desktop或者arcgis engine應用程式。
建立runtime繫結的apis位於程式集esri.arcgis.version的類esri.arcgis.runtimemanager中,該程式集隨著任何arcgis10 runtime一起安裝於全域性程式集快取(global assembly
cache(gac))中。安裝了arcobjects.netsdk,預設的程式集esri.arcgis.version位於c:/program files/arcgis/developerkit10.0/dotnet資料夾下。可以在visualstudio ide中將該程式集添
加為專案引用。
利用licensecontrol將arcgis9.3應用程式遷移至arcgis10:
使用licensecontrol,遷移arcgis 9.3desktop或者engine應用程式至arcgis 10,執行以下步驟:
1、 安裝arcobjects.netsdk;
2、 公升級visualstudio的專案至visual studio 2008或以上版本;
3、 確保設定所有esri程式集的specificversion屬性為false;
4、 加esri.arcgis.version程式集至專案;
5、 加esri.arcgis.adf.local程式集至專案;
6、 在使用其他任何arcobjects**之前,新增下面的**語句:
[c#]中:
esri.arcgis.runtimemanager.bind(esri.arcgis.productcode.engine);
[vb.net]中:
esri.arcgis.runtimemanager.bind(esri.arcgis.productcode.engine);
利用esri.arcgis.esrisystem.aoinitialize類將arcgis9.3應用程式遷移至arcgis 10:
在**中使用esri.arcgis.esrisystem.iaoinitialize類也可以執行runtime繫結。有兩種方法,步驟分別為:
手工編寫runtime繫結**方案步驟:
1、 安裝arcobjects.netsdk;
2、 公升級visualstudio的專案至visual studio 2008或以上版本;
3、 確保設定所有esri程式集的specificversion屬性為false;
4、 加esri.arcgis.version程式集至專案;
5、 加esri.arcgis.adf.local程式集至專案;
6、 在使用其他任何arcobjects**之前,新增下面的**語句:
[c#]中:
esri.arcgis.runtimemanager.bind(esri.arcgis.productcode.engine);
[vb.net]中:
esri.arcgis.runtimemanager.bind(esri.arcgis.productcode.engine);
利用arcgislicense initializer wizard生成runtime繫結**步驟:
1、 安裝arcobjects.net sdk;
2、 公升級visualstudio的專案至visual studio 2008或以上版本;
3、 確保設定所有esri程式集的specificversion屬性為false;
4、 加esri.arcgis.version程式集至專案;
5、 加esri.arcgis.adf.local程式集至專案;
6、 在visual studio中通過add arcgis license checking命令,執行arcgis licenseinitialzer wizard。
儘管在開發arcgis 9.3專案時執行過arcgis license initialzer,遷移至arcgis 10時仍然需要再次執行arcgislicense initializer,因為arcgis license initializer生成的**有些已經
被改變了,如下圖
7、 在使用其他任何arcobjects**之前,新增下面的**語句:
[c#]中:
esri.arcgis.runtimemanager.bind(esri.arcgis.productcode.engine);
[vb.net]中:
esri.arcgis.runtimemanager.bind(esri.arcgis.productcode.engine);
*****===
問題一: ipoint point = new pointclass(); //顯示這一句有錯誤,錯誤提示為「ipoint point = new pointclass();」
解決辦法為:把esri.arcgis.geometry的屬性中「嵌入互操作型別」改為「false」。ok!
問題二: 按照以下**,在vs窗體中載入mxd文件,但是不能顯示。窗體顯示區為空白。
private void 載入地**檔toolstripmenuitem_click(object sender, eventargs e)
//載入地**檔
private void loadmapdocument()
else}}
解決方法為:
public form1()
加上高亮顯示這行**之後,果斷能正常顯示。
*****===
本來沒有新增有問題的這句**,執行報錯說arcgis not specified。然後網上搜了一下,都是說要新增這樣一句**。新增以後,編譯報錯:
最初懷疑是ae沒有安裝好,但是查了一下arcgis管理器,是可以的呀:
但是新增到窗體裡面的控制項有note,提示我需要arcgis的product license
我也遇到過這個問題,我新增了esri.arcgis.version引用後問題就解決了,你可以試試。
從「工具箱」→「arcgis windows forms」中選擇控制項「licensecontrol」控制項,拖到視窗中,系統會自動為程式新增需要的引用,等待數秒,這個錯誤就可以解決
我也遇到過這個問題,我新增了esri.arcgis.version引用後問題就解決了,你可以試試。
為什麼我的沒有arcgis.version的引用
我也沒有這個dll,怎麼回事啊
應該是版本問題,估計9.x的沒有,新版本有。
新增了esri.arcgis.version引用
我發現把這句給注釋掉就可以執行了。
為什麼我的vs2008裡面在新增引用的時候,看不到esri.arcgis.version呢?先裝的vs,後裝的arcgis,這個怎麼能?望指導
esri.arcgis.version.dll,新增引用時瀏覽到以下位置:
c:\program files (x86)\common files\arcgis\bin
新增即可
*****===
使用arcengine,電腦是x64系統時,esri.arcgis.runtimemanager.bind會返回false,將專案屬性的目標平台設為x86即可,具體原因未知。
arcserver-licensing
*****===
ArcGIS Engine 編輯介紹
原文 arcgis engine 編輯介紹 iworkspaceedit介面是arcgis engine 實現空間資料編輯的重要介面,它讓程式啟動或者停止乙個編輯流程,在這個編輯流程內,可以對資料庫中的資料進行刪除,新增,更改。我們所有的對要素或者屬性的修改都可以放到乙個會話中,這個會話就相當於ar...
ArcGIS Engine 相關資料
1 arcgis engine c 例項開發教程 教程目錄 第一講 桌面gis應用程式框架的建立 第二講 選單的新增及其實現 第三講 mapcontrol與pagelayoutcontrol同步 第四講 狀態列資訊的新增與實現 第五講 鷹眼的實現 第六講 右鍵選單新增與實現 教程bug及優化方案1 ...
ArcGIS Engine 相關資料
1 arcgis engine c 例項開發教程 教程目錄 第一講 桌面gis應用程式框架的建立 第二講 選單的新增及其實現 第三講 mapcontrol與pagelayoutcontrol同步 第四講 狀態列資訊的新增與實現 第五講 鷹眼的實現 第六講 右鍵選單新增與實現 教程bug及優化方案1 ...