QuickBooks 提供了一个 SDK,目前 SDK14.0 带有一个 dll,interop.QBFC14我找不到文件 QBFC14lib?

问题描述

我找到了一些代码注册一个 dll 并生成一个类型库:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe /tlb /codebase Interop.QBFC14.dll,但它给出了以下内容

RegAsm:错误 RA0000:CLR 程序集“Interop.QBFC14.dll”是从类型库导入的,无法重新导出到类型库。

我不记得在一两年前升级 QBFC13Lib 时需要做任何事情。

QuickBooks Desktop Pro 2020 版 R10P

Microsoft Visual Studio 社区 2019 版本 16.8.4

缺少的 13 库附带的错误消息示例是:

找不到与嵌入的互操作类型“QBFC13Lib.ENVisibleIfNot”匹配的互操作类型。您是否缺少程序集参考?

SDK13 版本仍然有效,但我需要在适当的时候完成。

解决方法

我开始想更多地了解 RegAsm 错误,并决定尝试将“使用 Interop.QBFC14”替换为“使用 QBFC13lib”。令我惊讶的是,它似乎有效。我还没有进行广泛的测试,但它编译并打开了 QuickBooks 的会话。

大概在 QBSDK14.0 文档的某个地方讨论了这个名称更改,尽管我浪费了很多时间寻找那个解释。