QuickBooks 报告使用 QBXML 用 C# 编写的 Excel AddIn 的无效证书

QuickBooks reports invalid certificate for Excel AddIn written in C# using QBXML

我认为问题与最新版本的 Office 365 或 WinX 有关。由于某种原因,QuickBooks 查找应用程序证书相关信息所需的信息未从 Office 代码传递。

我编写了一个控制台应用程序,该应用程序链接到用于我的插件的相同库,并且它能够连接到 QB。我的插件的其他用户仍然可以使用它。我发现他们 运行 正在使用旧版本的 Office365,16.0.8229.2091 或更早版本。出现故障的桌面是 运行ning Office365,16.0.9229.2103(之前我将其作为 .2013 而不是正确的版本 .2103)。当我查看集成应用程序的属性时,控制台版本正确显示了 Developed By: 和 Developer identity verified by: 信息。当我对 AddIn 执行相同操作时,它显示 Unknown for the Developed By: 并显示:此应用程序没有证书。 QuickBooks 无法确定开发者的身份。

用户已经 运行使用我的 AddIn 大约两年了。我使用的是最新版本的 QBXMLRP 以及 Visual Studio 2015 和 .NET Framework 4.5.2 版。我使用相同的过程生成测试证书,并且两个程序集都使用 sha256 签名。

据我所知,安装最新版本的 Office365 时程序崩溃了。话虽如此,这可能是与 Windows 的最新补丁相关的问题,而我没有该信息。但是,考虑到其他工作站可以 运行 AddIn 并具有早期版本的 Office365,我认为这是一个很好的指标。而且我能够获得 运行 的控制台应用程序,但 AddIn 无法访问 QuickBooks。它在 Excel 中确实加载得很好,但它无法与 QB 连接。

我在 QB forum 上发布了这个问题并收到了答复。似乎是 Microsoft 发布了导致该问题的 Office365 商业软件更新。他们已经发布了后续更新,应该提供补救措施。

为了方便起见,我已经包含了一个 link。

好消息,安装 Office365 的最新更新后问题已解决!哇!!那是一个真正的痛苦。特别感谢 Intuit Developer Group 的 William Lorfing 密切关注此问题并提醒其他人注意解决方案。