SAPbobsCOM无法正常工作

时间:2014-03-24 17:37:17

标签: c# .net iis com sap

我使用asp.net C#开发了一个Web应用程序来发布在线订单。我的应用。在SAP服务器(Windows 2008 R2)上正常工作,但当我将项目复制到本地计算机(运行Windows 7)时出现错误,无法看到 SAPbobsCOM 引用。我的机器上没有SAP API DI 我试图在X86中调试我的应用程序来解决问题。但没有运气。 这是我得到的错误enter image description here

检索具有CLSID {632F4591-AA62-4219-8FB6-22BCF5F60090}的组件的COM类工厂因以下错误而失败:80040154未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))。

谢谢

3 个答案:

答案 0 :(得分:9)

问题是由为您的应用选择Any CPU平台目标造成的。

这意味着您的应用可以同时运行32xx64进程,具体取决于执行应用的.NET运行时位数。如果您的流程以x64运行并且安装了32x DI API(反之亦然),则会出现此问题,因为DI API需要将本机DLL加载到您的流程中。但是,32x DLL无法加载到x64进程中,反之亦然。

这就是为什么我们必须明确允许您的应用程序使用完全相同的位数作为它将使用的DI API位数。

要做到这一点:

  • 首先安装SAP DI API c:\Program Files\SAP\SAP Business One DI API\)和SAP Business One SDK c:\Program Files (x86)\SAP\SAP Business One SDK\
  • 接下来,找出您拥有的 DI API 版本(x86或x64)。如果它已安装在c:\Program Files中 - 您有 x64 版本,如果它位于c:\Program Files (x86)\ - 您有 x86 一个
  • 最后,转到项目属性 - > 构建标签并设置DI SDK版本所用的平台目标enter image description here

答案 1 :(得分:3)

我有完全相同的问题。我的SAP组件在WCF服务中运行。

要解决此问题,请将应用程序池更改为在32位下运行。

答案 2 :(得分:1)

我遇到了同样的问题。 这是因为SAP Business One引用了SAPbobsCOM和SBODI_Server。我添加了这些引用并且它有效。 您需要在计算机上添加SAP API DI以使用SAPbobsCOM参考。