我使用asp.net C#开发了一个Web应用程序来发布在线订单。我的应用。在SAP服务器(Windows 2008 R2)上正常工作,但当我将项目复制到本地计算机(运行Windows 7)时出现错误,无法看到 SAPbobsCOM 引用。我的机器上没有SAP API DI 我试图在X86中调试我的应用程序来解决问题。但没有运气。 这是我得到的错误
检索具有CLSID {632F4591-AA62-4219-8FB6-22BCF5F60090}的组件的COM类工厂因以下错误而失败:80040154未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))。
谢谢
答案 0 :(得分:9)
问题是由为您的应用选择Any CPU
平台目标造成的。
这意味着您的应用可以同时运行32x
和x64
进程,具体取决于执行应用的.NET运行时位数。如果您的流程以x64
运行并且安装了32x
DI API(反之亦然),则会出现此问题,因为DI API需要将本机DLL加载到您的流程中。但是,32x
DLL无法加载到x64
进程中,反之亦然。
这就是为什么我们必须明确允许您的应用程序使用完全相同的位数作为它将使用的DI API位数。
要做到这一点:
答案 1 :(得分:3)
我有完全相同的问题。我的SAP组件在WCF服务中运行。
要解决此问题,请将应用程序池更改为在32位下运行。
答案 2 :(得分:1)
我遇到了同样的问题。 这是因为SAP Business One引用了SAPbobsCOM和SBODI_Server。我添加了这些引用并且它有效。 您需要在计算机上添加SAP API DI以使用SAPbobsCOM参考。