Не удалось загрузить файл или сборку «Microsoft.Office.Interop.Excel, Version = 15.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c»

Вопрос: Я пытаюсь опубликовать веб-сайт в IIS на Windows Server 2008 R2. на моем веб-сайте есть функция, которая загружает файл excel, чтобы применить некоторые изменения, а затем загрузить его снова. При доступе к файлу excel, который нужно загрузить, я получил эту ошибку: "Не удалось загрузить файл или сборку Microsoft.Office.Interop.Excel, Version = 15.0.0.0, Culture = neutral,

Вопрос:

Я пытаюсь опубликовать веб-сайт в IIS на Windows Server 2008 R2. на моем веб-сайте есть функция, которая загружает файл excel, чтобы применить некоторые изменения, а затем загрузить его снова. При доступе к файлу excel, который нужно загрузить, я получил эту ошибку: “Не удалось загрузить файл или сборку Microsoft.Office.Interop.Excel, Version = 15.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c” или одну из его зависимостей. система не может найти указанный файл “.

Код, который получает файл:

clsExcel = new ApplicationClass(); clsExcel.Visible = false; clsWorkbook = clsExcel.Workbooks.Open(Server.MapPath(«/file path … «), 2, false, 5, «», «», true, XlPlatform.xlWindows, «», false, true, 0, false, true, XlCorruptLoad.xlNormalLoad); // get worksheet 4 … clsWorksheet = (Worksheet)clsWorkbook.Worksheets[4]; clsWorksheet.get_Range(«A2», «D1000»).EntireRow.Delete(); clsWorkbook.Save(); clsWorkbook.Close(false, «», false); // release… clsExcel.Quit();

Я уверен, что мой код хорош, потому что я запускаю его на своем персональном компьютере с ОС Windows 10 с Office 2013, и он отлично работает. Думаю, я пропустил какую-то конфигурацию или файл, который должен существовать на сервере.

После нескольких дней поиска я нашел много решений, но он не работает со мной, как: – Установите Office 2010 – настройте приложение Microsoft Excel в конфигурации DCOM, чтобы разрешить доступ для IIS_User и NETWORK SERVICE – добавьте Microsoft.Office.Interop.Excel как ссылка – комментарий сборочной линии от web.config

Что мне делать?

заранее спасибо

Лучший ответ:

Если вы не собираетесь устанавливать Office 2013 на свой веб-сервер, вам нужно будет скопировать библиотеки при публикации вашего веб-сайта. В проекте Visual Studio вам нужно будет установить Копировать локальное в Истину для сборок Interop. Таким образом, когда вы публикуете свой сайт, ссылки на библиотеки будут скопированы вместе с вашим сайтом и указаны в скопированных файлах.

Что-то еще, что вам может потребоваться, это проверить, что для 32-разрядных приложений Enable установлено значение True в вашем пуле приложений.

Ответ №1

Другой способ, который я нашел, и после попытки его решить:

  1. Установите Office 2010 на локальный ПК.
  2. Добавьте ссылку на свой проект из визуальной студии> COM> Microsoft office 14.0 Object Libaray.
  3. Создайте и опубликуйте веб-сайт.
  4. Замените старую опубликованную папку на
    новый.
  5. Убедитесь, что на вашем сервере установлена одна и та же офисная версия “2010”, установленная на локальном ПК.
  6. Наконец, он работает

Ответ №2

1: Установите Microsoft Office на клиентскую машину 2: проверьте версию Microsoft.Interop.Office.Excel для версии Error, находящуюся в каталоге bin или нет.

Оцените статью
Добавить комментарий