我们的网络应用程序几天前神秘地开始间歇性地抛出此错误:
System.TypeInitializationException:' XXXXXXXXXXXXXX'的类型初始值设定项抛出一个例外。 ---> System.Runtime.InteropServices.COMException:未注册的类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))
在SBStringList.TElStringList..ctor()
我们已与SBStringList.TElStringList
班级的创作者交谈,但它并未使用COM。我在反编译器中检查了它并确认了它们的断言。
如何确定系统尝试创建的COM类?
一旦我们在Web应用程序中开始出现此错误,我们几乎无处不在。如果我们清除临时的ASP.NET文件,那么错误就会消失,直到它再次神秘地消失为止。
答案 0 :(得分:0)
也许您从Windows应用程序/系统日志和/或IIS日志中的相关消息中获得了更详细的堆栈跟踪和/或相关消息。
此类异常有很多可能的原因:
[1]错误的平台设置在构建时x86或x64而不是任何CPU
[2] COM类未注册(regsvr在这里可能会有所帮助,但似乎SecureBlackbox®没有注册任何COM对象..)
[3]如果确实涉及COM,它也可能被拒绝访问注册表设置
万一你已经没有看到它,这里有一些很好的技巧来解决这个令人讨厌的问题https://stackoverflow.com/a/17000027/920557。我也会尝试使用SysInternals的ProcMon ..并且力量可能与你同在。