环境:VS2010,Arcgis 10 SDK
在本机arcmap上可以进行栅格图层的差值运算,但是在ae程序中却报错:ERROR 010096: There is no Spatial Analyst license currently available or enabled.
新建工程的时候选择的是arcview,并且也添加了Spatial Analyst 功能了(如下代码,Program.cs文件)。且添加了ESRI.ArcGIS.Spatial Analyst的引用。
static void Main()
{ //ESRI License Initializer generated code. m_AOLicenseInitializer.InitializeApplication(new esriLicenseProductCode[] { esriLicenseProductCode.esriLicenseProductCodeArcView }, new esriLicenseExtensionCode[] { esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst, esriLicenseExtensionCode.esriLicenseExtensionCodeSchematics, esriLicenseExtensionCode.esriLicenseExtensionCodeArcScan, esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst, esriLicenseExtensionCode.esriLicenseExtensionCodeGeoStats, esriLicenseExtensionCode.esriLicenseExtensionCodePublisher, esriLicenseExtensionCode.esriLicenseExtensionCodeDataInteroperability }); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new CYFX()); //ESRI License Initializer generated code. //Do not make any call to ArcObjects after ShutDownApplication() m_AOLicenseInitializer.ShutdownApplication(); } }
经过N小时奋战终于找到原因:虽然新建工程的时候选择了一些分析的功能,但添加licenceControl控件的时候默认情况下并没有选择所有的分析功能,需要右键License控件,点击属性,手动勾选,如下: