System.NullReferenceException 在 Microsoft.Office.Tools.Ribbon.RibbonBase.Dispose(布尔值)

System.NullReferenceException at Microsoft.Office.Tools.Ribbon.RibbonBase.Dispose(Boolean)

我创建了我的第一个 Excel VSTO 插件。在 Visual Studio 中一切都运行良好。我发布了我的加载项,安装在其他计算机上,但 Excel 在加载过程中崩溃了。仅显示无响应对话框。

Application: EXCEL.EXE Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.NullReferenceException at Microsoft.Office.Tools.Ribbon.RibbonBase.Dispose(Boolean) at ExcelTE.RibbonTE.Dispose(Boolean) at System.ComponentModel.Component.Finalize()

在先决条件中我检查了这些选项:

我还尝试手动安装 .NET Framework 4.7.2 和 Visual Studio Office 运行时工具,但没有成功。

还有什么我可以检查的想法吗?

我找到了这个问题的解决方案。

System.NullReferenceException 对此有点误导。

我创建了一个项目,然后添加:

  • 丝带
  • 我在功能区上添加了按钮
  • 我为按钮创建了点击事件处理程序

我在 handler.It 事件中有我的自定义逻辑正在使用第 3 方库。此库需要在用户文档中有 Resources/someSettingsFile.settings 文件夹。

创建 MyRibbon class 时,我正在对第 3 方库中的对象进行初始化。所以这在加载 excel.

期间抛出异常

我忘记了我在开发期间将 Resources 文件夹复制到 Documents,当我向其他用户发布插件时,他们根本没有第三个库所需的文件。