问题描述
近日,发现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")));
参考
http://zhihu.esrichina.com.cn/article/647
https://wenku.baidu.com/view/7dcdcbe8856a561252d36fee