Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 打开外接程序时的诊断显示apear_C#_Excel_Excel Dna - Fatal编程技术网

C# 打开外接程序时的诊断显示apear

C# 打开外接程序时的诊断显示apear,c#,excel,excel-dna,C#,Excel,Excel Dna,我们有用C编写的excel外接程序。我们也在使用excel DNA。最近我们在启动外接程序时看到了这个窗口 知道这个窗口是什么以及如何打开它吗?默认情况下,Excel DNA将尝试在.DNA文件中列出的程序集中的公共类型中注册所有公共静态方法 对于您的外接程序,Excel DNA试图注册的名为“模数”的函数似乎不止一个。错误源于此重复,一个注册正被另一个注册覆盖 您有几种解决方法: 通过使其中一个方法不公开,或在.dna文件中启用“ExplictExports=true”,并用ExcelFun

我们有用C编写的excel外接程序。我们也在使用excel DNA。最近我们在启动外接程序时看到了这个窗口


知道这个窗口是什么以及如何打开它吗?

默认情况下,Excel DNA将尝试在.DNA文件中列出的程序集中的公共类型中注册所有公共静态方法

对于您的外接程序,Excel DNA试图注册的名为“模数”的函数似乎不止一个。错误源于此重复,一个注册正被另一个注册覆盖

您有几种解决方法:

通过使其中一个方法不公开,或在.dna文件中启用“ExplictExports=true”,并用ExcelFunction属性标记所有函数,确保只注册一个“module”函数。 确保没有像.dna文件中那样设置其他库-要打包到单个文件中的额外程序集.xll应作为标记添加-这些程序集不会检查函数并在Excel中注册。 通过自定义.xll.config文件中的日志记录设置,可以控制日志记录的工作方式,从而防止显示错误窗口-请参阅。
默认情况下,Excel DNA将尝试在.DNA文件中列出的程序集中的公共类型中注册所有公共静态方法

对于您的外接程序,Excel DNA试图注册的名为“模数”的函数似乎不止一个。错误源于此重复,一个注册正被另一个注册覆盖

您有几种解决方法:

通过使其中一个方法不公开,或在.dna文件中启用“ExplictExports=true”,并用ExcelFunction属性标记所有函数,确保只注册一个“module”函数。 确保没有像.dna文件中那样设置其他库-要打包到单个文件中的额外程序集.xll应作为标记添加-这些程序集不会检查函数并在Excel中注册。 通过自定义.xll.config文件中的日志记录设置,可以控制日志记录的工作方式,从而防止显示错误窗口-请参阅。
@Govert的回答很有帮助,但如果您不想更正此窗口中的错误和警告,也不想看到它,则需要将这部分代码粘贴到app.config文件中:

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

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

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

您可能还对将消息重定向到其他记录器感兴趣,并对如何解释错误、警告、信息等有更多的控制。。请看,您可能还对将消息重定向到其他记录器感兴趣,并对如何解释错误、警告、信息等有更多的控制。。看见