我目前正在開發一個引用第三方api dll的C#WebAPI項目。該組件是一個簡單的COM參考,我添加到Visual Studio項目中。
Web API發佈在具有集成安全性的Intranet服務器(IIS)上&用戶模擬處於打開狀態,匿名auth關閉。COMException CreateInstance在發佈時失敗
在我的本地機器上運行Visual Studio(2015)中的web api時,一切正常。
當運行我們的IIS服務器上的發佈的Web API,一切都還正常工作,但是當我發送到使用第三方庫中的控制器動作的請求,我收到以下錯誤:
System.Runtime.InteropServices.COMException
Additional information:
CreateInstance failed.
at ThirdPartyLib.Connect()
的第三方依賴關係安裝在服務器(以及我的開發機器)上使用他們的安裝程序。這注冊了一套dll並安裝了附帶的軟件。我已經驗證了正確的安裝。實際上,使用相同dll的簡單winforms應用程序工作得很好。
進程監視器顯示w3wp.exe正在使用正確的dll。
我不確定我錯過了什麼?
如果這是一個權利問題,我將如何去解決它?
該項目是否有足夠的權利訪問該DLL? – Steve
我不知道如何找出答案。 UAC已關閉。這是一個使用集成安全性的Intranet服務器,因此當我訪問它時,我的帳戶正在被模擬。 – Bart
「安裝」是什麼意思?它是否被註冊? 「我有一個C#web API項目」是什麼意思?你有源代碼嗎?你如何調用COM組件?你有什麼嘗試?你運行進程監視器,看看它試圖從哪裏加載DLL? –