ArcGIS Engine 项目10.1升级10.2
一 10.1 到 10.2
ArcGIS Engine 項(xiàng)目,相同代碼,從10.1升級(jí)10.2;
首先是VS載入項(xiàng)目時(shí)窗體上的控件會(huì)出現(xiàn)問(wèn)題;然后,如下面圖,即可;
看下引用,已經(jīng)出了問(wèn)題;
?
右擊添加引用,或者添加ArcGIS 引用;
?
添加ArcGIS引用;
?
添加要引用的具體項(xiàng);
?
完成之后即可;
?
看下10.2所附帶的一堆dll;
?
每個(gè)DLL有一個(gè)XML,看下是干嘛的;是對(duì)該dll導(dǎo)出類的描述;
?
二 ArcGIS Engine 10 開發(fā)常見問(wèn)題的解決方法
http://www.cnblogs.com/RiseSoft/archive/2012/05/22/2512776.html
環(huán)境:Win7 64bit + VS2010 + AE10.0
Q1:You are not Licensed for 彈出提示框,點(diǎn)擊確定,VS工程自動(dòng)關(guān)閉!
Analysis: LicenseControl被我們拖入窗體中,由于使用SDE數(shù)據(jù)庫(kù),或者其他高級(jí)功能,僅授權(quán)Engine許可無(wú)法滿足我們的需要,所以我們會(huì)通過(guò)右鍵屬性,將其授權(quán)改成ArcInfo或者Engine Enterprise Geo等等,由此造成了上述問(wèn)題!
Solution:在該窗體的初始化代碼中添加如下代碼,將授權(quán)更改為ArcInfo完全權(quán)限或其他。
復(fù)制代碼
1???????? public MainForm()
2???????? {
3???????????? InitializeComponent();
4???????????? //解決LicenseControl右鍵屬性改為ArcInfo或其他后總彈出"You are not Licensed for"然后VS自動(dòng)關(guān)閉的問(wèn)題
5???????????? IAoInitialize pAoInitialize = new AoInitializeClass();
6???????????? esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable;
7???????????? licenseStatus = pAoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeArcInfo);
8???????? }
復(fù)制代碼
或者
復(fù)制代碼
?1 IAoInitialize m_AoInitialize = new AoInitializeClass();
?2 esriLicenseStatus pLicesestatus = (esriLicenseStatus)m_AoInitialize.IsProductCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB);
?3 if (pLicesestatus == esriLicenseStatus.esriLicenseAvailable)
?4 {
?5 if (pLicesestatus != esriLicenseStatus.esriLicenseCheckedOut)
?6 {
?7 pLicesestatus = (esriLicenseStatus)m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB);
?8 }
?9 else
10 {
11 System.Windows.Forms.MessageBox.Show("程序初始化失敗");
12 }
13 }
14 else
15 {
16 System.Windows.Forms.MessageBox.Show("沒(méi)有程序運(yùn)行許可");
17 }
復(fù)制代碼
(需要把LicenseControl控件刪除,如果LicenseControl中選擇了Engine授權(quán)或包括Engine的多個(gè)授權(quán),仍然只能讀到Engine授權(quán),否則在運(yùn)行到CreatFeatureClass()等方法時(shí)還是會(huì)報(bào)錯(cuò)!)
-------------------------------------------------------------------------------------
Q2:ArcMap中無(wú)法啟動(dòng)編輯SDE中的圖層。
Analysis:
Solution: 這個(gè)在ArcMap中會(huì)有提示如何解決,具體操作就是,打開Catolog,找對(duì)想要編輯的圖層,右鍵點(diǎn)擊“Register As Versioned...”
然后就可以在ArcMap中編輯了。 不過(guò)隨之而來(lái)又會(huì)引起Q3.
-------------------------------------------------------------------------------------
Q3: 在調(diào)用IFeature.Store()等一些方法時(shí)又會(huì)報(bào)出組件異常錯(cuò)誤(ComException)
Analysis:
Solution: 只能刪除這個(gè)圖層,重新建一個(gè)這樣的圖層了。。。Bug
總結(jié)
以上是生活随笔為你收集整理的ArcGIS Engine 项目10.1升级10.2的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 编译通过PCL1.5.1的第一个例子图解
- 下一篇: Linux内核源码学习