AE开发中打开shp经常会用到以下的代码:
IWorkspaceFactory testfactory = new ShapefileWorkspaceFactory(); IWorkspace testwork = testfactory.OpenFromFile(foldername, 0);
之前用的版本vs2015+AE10.2.2一直好好的,换成AE10.4版本之后报错:异常来自HRESULT:0x80040228。
这个错误基本上是axcontrol控件、AE许可方面的问题。看了网上的解决办法,大多数是以下两种方法:
1、界面上添加axcontrol控件(我的已有)
2、program页面里添加:
using ESRI.ArcGIS.esriSystem IAoInitialize m_aoinitialize = new AoInitializeClass(); m_aoinitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeArcInfo);
试了之后也是无效的。最终参考了以下两篇文章,验证是有效的。
https://blog.csdn.net/qq_29176825/article/details/84864939
https://www.cnblogs.com/liweis/p/8675903.html
做了修改后的终极方法:在program页面里添加:
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);
//以下为新增的代码 IAoInitialize aoInit = new AoInitializeClass();
aoInit.Initialize(esriLicenseProductCode.esriLicenseProductCodeArcServer);