默认情况下,Excel-DNA将尝试在.dna文件中列为public static
的程序集中的公共类型中注册所有<ExternalLibrary ...>
方法。
对于你的插件,Excel-DNA试图注册的似乎不止一个叫做“模数”的函数。这种重复产生了错误(一个注册被另一个注册覆盖)。
你有几种解决方法:
ExcelFunction
属性标记所有函数。<ExternalLibrary>
- 要包装到单个文件中的额外程序集.xll应添加为<Reference>
标记 - 这些不会检查函数并使用Excel注册。来自@Govert的回答很有帮助,但是如果您不想在此窗口中更正错误和警告而不想看到它,则需要将这部分代码粘贴到app.config文件中:
<!--Switch off the diagnostic -->
<system.diagnostics>
<sources>
<source name="ExcelDna.Integration" switchValue="Off"></source>
</sources>
</system.diagnostics>