2014-03-24 59 views
2

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

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

谢谢

+1

您需要在此机器上安装DI-API。当您的.Net代码尝试使用DI-API中定义的类型,但无法加载它(DI-API使用COM进行互操作性)时,会发生此错误。 – Lilshieste

+0

@Lilshieste为什么我们必须安装DI-API,我在我的项目中添加了Interop.SAPbobsCOM.dll。我认为程序使用这个DLL –

+0

@JohnNguyen安装过程注册DI-API与COM。 Interop.SAPbobsCOM.dll文件只是一个[互操作程序集](http://stackoverflow.com/questions/1670940/what-is-the-interop-dll),所以COM注册仍然是必需的。 – Lilshieste

回答

0

我得到了同样的问题。 这是因为SAP Business One引用SAPbobsCOM和SBODI_Server丢失。我添加了这些参考,它工作。 您需要在您的机器上添加SAP API DI以使用SAPbobsCOM参考。

2

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

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

3

总结其他答案,并添加了一些有用的信息 - 你需要:

  • 第一,有SAP DI APIc:\Program Files\SAP\SAP Business One DI API\)和SAP Business One的SDKc:\Program Files (x86)\SAP\SAP Business One SDK\)安装
  • 接下来,找出您有的版本(x86或x64)DI API。如果它安装在c:\Program Files - 你有版本,如果它在c:\Program Files (x86)\ - 你有一个
  • 最后,去你项目属性 - >构建选项卡并设置相同的目标平台您的DI SDK版本为: enter image description here