【问题标题】:How to Resolve Quickbooks Interface Error: QBFC Error "Could Not Load File or Assembly Interop.QBFC7 or one of its dependencies"如何解决 Quickbooks 接口错误:QBFC 错误“无法加载文件或程序集 Interop.QBFC7 或其依赖项之一”
【发布时间】:2012-04-13 14:23:50
【问题描述】:

我最近继承了一个 C# Winforms 应用程序,它通过 QBFC 接口与 Quickbooks 进行通信。该应用程序包含对 COM 服务器 Interop.QBFC7.dll 的引用。该应用程序在我们的测试环境和我们客户的几个环境中运行良好。虽然,昨天当我试图在新客户的系统上安装它时,我仍然收到以下错误:

无法加载文件或程序集“Interop.QBFC,版本=8.0.0.87,文化=中性,PublicKeyToken=...”或其依赖项之一。系统找不到指定的文件。

我知道我们有几个客户在不同版本的 Quickbooks(即 2008 年和 Enterprise 11.0 之间的 Quickbooks Pro、Premier 和 Enterprise)上运行此应用程序。据我所知,这是我们尝试部署此应用程序的第一个客户,该应用程序具有 Enterprise 12.0。

我尝试了以下方法来解决问题,但没有成功:

1) 从 Intuit 开发者网络站点安装 QBFC7_Installer
2) 从 Intuit 开发人员网络站点安装 Quickbooks SDK 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 位配置下编译,但均无济于事。

提前感谢您的帮助。

【问题讨论】:

    标签: winforms quickbooks qbfc


    【解决方案1】:

    首先,您应该只针对x86 构建。如果您以Any CPUx64 为目标,QuickBooks SDK 将无法工作。但是,您的主要问题是您正在寻找错误的 QBFC 版本。请注意错误消息上的版本标记:

    无法加载文件或程序集 'Interop.QBFC,Version=8.0.0.87, Culture=neutral, PublicKeyToken=...' 或其依赖项之一。这 系统找不到指定的文件

    这是 QBFC8,而不是 QBFC7。所以你应该能够解决 QBFC8 安装程序的问题。

    QuickBooks 的版本应该没有什么不同,因为 QBFC 8(或 7,就此而言)将适用于 2008 和 Enterprise 11 或 12。

    您应该考虑使用安装项目来安装您的应用程序,以避免将来出现此问题。安装项目应自动检测 QBFC 依赖项。看到这种情况发生后,转到安装项目的 SearchPath 属性,然后从安装在您机器上的 SDK 添加 MergeModule 目录。完成此操作后,您应该会看到 QBFC 和 Xerces 合并模块作为依赖项自动添加到您的项目中。当然,您还需要将代码更新为更新版本的 QBFC,但无论如何这可能是个好主意。

    【讨论】:

    • 感谢您的回复。我能够通过将引用上的“使用特定版本”属性从 true 更改为 false 来解决此问题。最近,另一位开发人员将引用从 QBFC4 更改为 7 以访问新界面中的其他功能,但他们显然忘记更改该属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    • 2017-10-16
    相关资源
    最近更新 更多