在AE开发(环境为VS2012+AE10.2)中,碰到一个很奇怪的问题,只要一打开VS,就报错弹出以下的错误信息界面,这个问题困扰了非常久,期间试过很多方法,很多人说删除所有控件,重新添加,然而过不了多久,又会报错,问题一直都无法解决。最后发现,问题的元凶在licenseControl控件,只要licexseControl控件中,选择了advanced的选项,过几分钟,VS在编辑状态下就弹出报错窗口,只要一点确定,VS直接关闭,写好的代码将无法保存,非常讨厌。
Provide your license server administrator with the following information:
Error Code = -42
Invalid parameter.
License path: @lacalhost;
FlexNet Licensing error:-42,147
ArcGis for Desktop/Engine 10.2 cannot connect to previous versions of the ArcGis License Manager.Please contact your organization’s License Adminstrator to ensure that your License Manager is version 10.2 or newer.
解决方法:
1、删除LicenseControl控件(直接不用它),这时候axmapcontrol窗口,会提示一段license出错的文案提示,直接忽略之。
2、在程序启动的(一般位于 Program.cs的 main()方法中)位置,用代码绑定license初始化代码。代码如下:
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Desktop);
IAoInitialize aoInitialize = new AoInitialize();
esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable;
licenseStatus = aoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeAdvanced);
注意窗体中,不需要再添加licenseControl控件,测试一切正常,从此再也不报错!