在对STK进行C#的二次开发过程中,按照文章https://blog.csdn.net/u011575168/article/details/52548598进行配置时,运行代码
AgStkObjectRoot stkRoot = = new AgStkObjectRoot();的过程中报错:
System.Runtime.InteropServices.COMException:“检索 COM 类工厂中 CLSID 为 {CBC2BA60-DA3D-43BD-A068-C6F03149931D} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。”
尝试了多种方法,首先更换STK版本,将12.2换成了11.6,无果。换成11.2,无果。
对dll文件进行注册regsvr32 “dll路径”,报错无法加载入口点,无果。
直到在链接中下载了他的文件,发现可以运行,于是对照他的文件重新部署项目,但是发现他的可以运行,我一模一样的配置无法运行,于是找到项目位置,一个文件一个文件的进行替换,直到将.csproj文件进行替换后可以运行。
逐步排行发现,他的文件中多了一行 false配置。
于是在Visual Studio中找到相应的位置:项目->属性->生成->常规->首选32位 把这个勾去掉,发现就可以正常运行了。