c# - 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 文档的某个地方有关于这个名称更改的讨论,尽管我浪费了很多时间来寻找那个解释。
推荐阅读
- sql - 检查 SELECT 中子查询的结果是否存在
- airflow - 如何在 Airflow OracleOperator 中从 .sql 脚本执行多个 Oracle 语句
- spring-boot - 无法在 Spring Boot 中从外部 jar 中自动装配一个类
- java - AWS Lambda 冷启动延迟的原因是什么?
- javascript - 弹出后更改按钮文本 whit React 和 sweetalert2-react
- c++ - VS Code“命令”:“make”与终端窗口中的命令行“make”不同
- javascript - 如何从客户端检测服务器使用nodejs请求库关闭的连接
- xml - 自动将 Wikidata URI 分配给名称列表
- java - KafkaProducer 总是为 Java API 中的模式注册表选择 localhost:8081
- r - 如何获得插值的置信区间?