Исключение System.Runtime.InteropServices.COME в приложении, которое читает файл Excel на сервере, но не локально - PullRequest
0 голосов
/ 10 января 2020

Я получаю COMException при импорте данных из файла Excel. Теперь мое приложение использует пакет Microsoft.Office.Interop.Excel NuGet, но оно ссылается на dll в GA C, и эта dll не попала в корзину при публикации файлов. Поэтому я вручную ссылаюсь на DLL в папке пакетов, а затем опубликовал веб-приложение. Даже тогда dll не был опубликован. То, что я наблюдаю, в то время как другие dll из пакетов Nuget имеют значение Copy Local, установленное в True, в dll Microsoft.Office.Interop.Excel есть False, и я также не могу изменить его. Я прочитал несколько статей, предлагающих установить библиотеки Excel на сервере, мне интересно, как пакет Nuget помогает в этом случае?

Нужно ли устанавливать библиотеки Microsoft Interop на сервер? Если да, какой смысл предоставлять Nuget для него?

1 Ответ

0 голосов
/ 10 января 2020

Microsoft.Office.Interop.Excel требует, чтобы на компьютере, на котором запущено приложение, было установлено приложение Excel (а не только библиотеки DLL). В тех случаях, когда вы не можете это контролировать, используйте библиотеку документов, например EPPlus или Закрыто Xml.

Heck, даже используйте их, когда Excel IS установлен на машине , Они требуют гораздо меньше накладных расходов.

...