打开加载项时出现诊断显示

Diagnostic display apear on open the add-in

我们有 excel 的加载项是用 C# 编写的。我们也在使用 Excel-DNA。最近我们在加载项启动时得到了这个 window

知道这是什么 window 以及我们如何关闭它吗?

默认情况下,Excel-DNA 将尝试在 .dna 文件中作为 <ExternalLibrary ...> 列出的程序集中的 public 类型中注册所有 public static 方法。

对于您的加载项,似乎有不止一个名为 'Modulus' 的函数正在尝试注册 Excel-DNA。错误源于此重复(一个注册被另一个注册覆盖)。

您有几种解决方法:

  • 确保您只注册了一个 'Modulus' 函数,方法是使其中一种方法不是 public,或者在您的 .dna 文件中启用 'ExplictExports=true' 并标记所有函数具有 ExcelFunction 个属性。
  • 确保您没有在 .dna 文件中将其他库设置为 <ExternalLibrary> - 您要打包到单个文件 .xll 中的额外程序集应添加为 <Reference> 标签 - 这些标签不检查功能并使用 Excel.
  • 注册
  • 您可以控制日志记录的工作方式,从而防止显示错误 window,方法是在 .xll.config 文件中自定义日志记录设置 - 请参阅 https://github.com/Excel-DNA/ExcelDna/wiki/Diagnostic-Logging

@Govert 的回答很有帮助,但如果您不想更正此 window 中的错误和警告并且不想看到它,您需要将这部分代码粘贴到您的 app.config 文件:

<!--Switch off the diagnostic -->
<system.diagnostics>
   <sources>
      <source name="ExcelDna.Integration" switchValue="Off"></source>
   </sources>
</system.diagnostics>