Диагностическое отображение при открытии надстройки - PullRequest
0 голосов
/ 28 марта 2019

У нас есть надстройка для Excel, написанная на C #.Мы также используем Excel-DNA.В последнее время мы получили это окно при запуске надстройки enter image description here

Есть идеи, что это за окно и как мы можем его отключить?

Ответы [ 2 ]

3 голосов
/ 29 марта 2019

По умолчанию Excel-DNA будет пытаться зарегистрировать все методы public static в открытых типах в сборках, перечисленных как <ExternalLibrary ...> в файле .dna.

Для вашей надстройки, кажется,быть более чем одной такой функцией под названием «Модуль», которую Excel-DNA пытается зарегистрировать.Ошибка возникает из-за этого дублирования (одна регистрация перезаписывается другой).

У вас есть несколько способов обойти это:

  • Убедитесь, что у вас есть только одна функция 'Модуль', являющаясязарегистрирован, либо сделав один из методов не общедоступным, либо включив ExplictExports = true в файле .dna и отметив все функции атрибутами ExcelFunction.
  • Убедитесь, что у вас не установлены дополнительные библиотекикак <ExternalLibrary> в файле .dna - дополнительные сборки, которые вы хотите упаковать в один файл .xll должны быть добавлены как теги <Reference> - они не проверяются для функций и не регистрируются в Excel.
  • Вы можете контролировать работу журналирования и, таким образом, предотвращать отображение окна ошибок, настраивая параметры журналирования в файле .xll.config - см. https://github.com/Excel-DNA/ExcelDna/wiki/Diagnostic-Logging.
0 голосов
/ 29 марта 2019

Ответ от @Govert полезен, но если вы не хотите исправлять ошибки и предупреждения в этом окне, а не видеть их, вам нужно вставить эту часть кода в файл app.config:

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