問題描述
近日,發現ArcGIS10.4中存在很多bug,而且費了好多時間去測試它,最終決定改用10.1。在降級程序時遇到許可問題。
重裝ArcGIS10.1后,打開工程,所有引用都自動映射,沒報任何錯誤,清理重新生成,無接口等異常。但啟動程序時,報錯Unlicensed ARC session – terminating!
這是ao輸出到控件台上的語句,檢查代碼許可正常。
系統日志也沒有有用的信息。
解決方案
想起了,以前《ArcEngine中License權限等級更改的問題》中遇到的問題。
AO控件在初始化會讀取OcxState對象,而修改版本后,控件版本自動修改,而OcxState值固定不變(窗體資源文件resx代碼中),所以報錯,直接刪除即可。
this.axPageLayoutControl1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axPageLayoutControl1.OcxState")));