В настоящее время я разрабатываю проект C# WebAPI, который ссылается на стороннюю api dll. Компонент - это просто ссылка COM, которую я добавил в проект визуальной студии.
Веб-API опубликован на сервере интрасети (IIS) со встроенной защитой & пользовательская олицетворение включена, анонимный аут выключен.COMException CreateInstance не удалось опубликовать
При работе с веб-api в visual studio (2015) на моей локальной машине все работает отлично.
При запуске опубликованного Web API на нашем сервере IIS, все прекрасно работает, однако, когда я отправить запрос на действие контроллера, который использует библиотеку третьей стороны, я получаю следующее сообщение об ошибке:
System.Runtime.InteropServices.COMException
Additional information:
CreateInstance failed.
at ThirdPartyLib.Connect()
The сторонняя зависимость была установлена на сервере (а также на моей машине dev) с помощью их установщика. Это зарегистрировало набор DLL и установил сопутствующее программное обеспечение. Я проверил правильную установку. На самом деле простое приложение winforms, использующее одну и ту же DLL, отлично работает.
Монитор процесса показывает, что w3wp.exe использует правильную dll.
Я не уверен, что мне не хватает?
Если это проблема с правами, как я могу ее решить?
Имеет ли проект достаточное право доступа к dll? – Steve
Я не знаю, как это узнать. UAC выключен. Это сервер интрасети, использующий встроенную защиту, поэтому моя учетная запись олицетворяется при доступе к ней. – Bart
Что означает «установлен»? Это зарегистрировано? Что означает «Я имею проект веб-API C#»? У вас есть исходный код? Как вы называете COM-компонент? Что вы пробовали? Вы запустили Process Monitor, чтобы посмотреть, где он пытается загрузить DLL? –