環境: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控件,點擊屬性,手動勾選,如下: