打开加载项时出现诊断显示
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>
我们有 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>