我最近继承了一个QBFC应用程序,它通过C#接口与Quickbook进行通信。应用程序包含对COM Server Interop.QBFC7.dll的引用。这个应用程序在我们的测试环境和我们的几个客户端环境中都工作得很好。然而,昨天当我尝试在一个新客户的系统上安装它时,我继续得到以下错误:
无法加载文件或程序集“Interop.QBFC,Version=8.0.0.87,Culture=neutral,PublicKeyToken=...”或者它的一个依赖项。系统找不到指定的文件。
我知道我们有几个客户在不同版本的Quickbook上运行这个应用程序(即2008和Enterprise11.0之间的Quickbooks、Premier和Enterprise )。据我所知,这是我们尝试部署此应用程序的第一个客户,该应用程序具有Enterprise 12.0。
我尝试了以下方法来解决这个问题,但没有成功:
1)从Intuit Developer Network站点安装QBFC7_Installer
2)从Intuit Developer Network站点安装Quickbooks 10安装程序
3)验证文件系统中是否存在Interop.QBFC7.dll文件。
4)尝试通过命令提示符手动注册COM对象Interop.QBFC7.dll : regsvr32 Interop.QBFC7.dll (此操作也失败了,windows返回错误,指出找不到该对象)。
有没有人对我可以尝试解决这个问题的其他事情有任何建议或反馈?我在其站点上运行不同操作系统(即Windows Server 2008、Windows 7和Windows Vista)的3台不同计算机上得到相同的错误?我还尝试过在x86和64位配置下编译,但都无济于事。
提前感谢您的帮助。
发布于 2012-04-14 04:04:11
首先,您应该只针对x86构建。如果您以Any CPU或x64为目标,QuickBooks软件开发工具包将无法工作。然而,您的主要问题是您正在寻找错误的QBFC版本。请注意错误消息上的版本戳:
无法加载文件或程序集“Interop.QBFC,Version=8.0.0.87,Culture=neutral,PublicKeyToken=...”或者它的一个依赖项。系统找不到指定的文件
这是QBFC8,不是QBFC7。因此,您应该能够使用QBFC8安装程序修复该问题。
QuickBooks的版本应该不会有什么不同,因为QBFC8(或7,就此而言)将与2008和Enterprise11或12一起工作。
您应该考虑使用安装项目来安装您的应用程序,以避免将来出现此问题。安装项目应自动检测QBFC依赖项。看到这种情况发生后,转到安装项目的SearchPath属性,并从安装在您的计算机上的SDK添加MergeModule目录。这样做之后,您应该看到QBFC和Xerces合并模块作为依赖项自动添加到您的项目中。当然,您还需要将代码更新到更新版本的QBFC,但这在任何情况下都可能是一个好主意。
https://stackoverflow.com/questions/10142637
复制相似问题