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

问题描述 投票:0回答:2

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

知道这个窗口是什么以及我们如何转向它?

c# excel excel-dna
2个回答
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

0
投票

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

<!--Switch off the diagnostic -->
<system.diagnostics>
   <sources>
      <source name="ExcelDna.Integration" switchValue="Off"></source>
   </sources>
</system.diagnostics>
© www.soinside.com 2019 - 2024. All rights reserved.