诊断显示出现在打开加载项上

时间:2019-03-28 12:06:06

标签: c# excel excel-dna

我们有用C#编写的excel插件。我们也在使用Excel-DNA。最近,我们在启动加载项时看到了这个窗口 enter image description here

您知道这个窗口是什么,我们如何打开它?

2 个答案:

答案 0 :(得分:3)

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

对于您的外接程序,Excel-DNA尝试注册的功能似乎不止一个,称为“模量”。错误是由这种重复引起的(一个注册被另一个注册覆盖)。

您有几种解决方法:

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

答案 1 :(得分:0)

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

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