Как добавить внешнюю DLL в IIS и решить ошибку 80070005 - PullRequest
0 голосов
/ 21 января 2020

Вот ситуация: я потратил пару недель на разработку ASP. net c# приложения веб-формы, оно предназначено для локального развертывания на сервере, поэтому очевидным решением является использование IIS. После тестирования он работает нормально, у меня даже была установлена ​​Visual Studio на сервере, я запускаю приложение в Visual Studio, все идет хорошо.

Когда я публикую sh приложение из Visual Studio и положил файловая система, сгенерированная внутри inetpub / wwwroot..., первые страницы загружаются нормально, но как только приложение пытается выполнить процесс, который требует внешней библиотеки, неожиданно возникает исключение.

Когда я смотрю на сгенерированный журнал, Я знаю, что исключение вызывается именно для первого экземпляра объекта внешней библиотеки. Очевидно, что после развертывания в приложении IIS нет ссылок на библиотеки или нет прав доступа к ним.

Вот стек исключений:

[UnauthorizedAccessException: La récupération de la fabrique de classes COM pour le composant avec le CLSID {00024500-0000-0000-C000-000000000046} a échoué en raison de l'erreur suivante : 80070005 Accès refusé. (Exception de HRESULT : 0x80070005 (E_ACCESSDENIED)).]
   ExcelDataRetreiver..ctor(String Path) +163
   FacturePR..ctor(String Path, Double CourDevise) +273
   FacturePRP.Button1_Click2(Object sender, EventArgs e) +314
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +11594496
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +274
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1964

Внешний Библиотека, объекты которой не могут быть созданы: Microsoft.Office.Interop.Excel, но я не думаю, что она будет единственной, поскольку я использую больше внешних библиотек.

Заранее спасибо,

Редактировать:

Чтобы убедиться, что на этом этапе библиотека Microsoft.Office.Interop.Excel не отвечает за эту конкретную ошибку, по адресу по крайней мере, на данный момент, я пропустил часть, где требуется обработка файла Excel, до go непосредственно в другой части веб-приложения, где создаются объекты из внешней библиотеки (кроме Microsoft.Office.Interop.Excel), я по-прежнему получаю исключение, получаю аналогичное сообщение об ошибке из журнала:

Получение фабрики классов COM для компонента с CLSID {XXXX} не удалось из-за следующей ошибки: 80040154

...