环境: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控件,点击属性,手动勾选,如下: