2015-11-16 48 views
0

有沒有辦法讓COM或Interop在IIS服務器上部署ASP.net MVC?COM CLASS Library。 ASP.net MVC DLL

我創建了一個MVC網站它有一個自定義女傭互操作COM參考掃描儀機器。

它適用於VS上的調試模式,但是,當我嘗試在IIS上部署它並訪問它時。它給了我Retrieving the COM class factory for component with CLSID {3FEDB614-C25B-448C-AED3-2D38A6C95765} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

的事情是,該dll它自身已經在我的機器上安裝,我覺得這是工作在調試模式導致從VS的IIS的不同運行或因爲我有DLL的參考需要。

但是在IIS部署中。發生錯誤。有任何想法嗎?

我的主要目標是在本地網絡上運行網站,並且每個人都可以與安裝了掃描儀的網站進行通信。

簡單的想法,但對我來說很難實施。我甚至不確定,如果我正在做的電話將在主持人而不是客戶端進行。

+0

我認爲錯誤信息非常多 - 您需要在運行IIS的目標計算機上安裝不受管理的COM DLL(掃描儀軟件?)。 – Nikolay

回答

1

看起來像IIS應用程序Bin文件夾沒有Interop DLL,複製Interop DLL,它的名字爲Interop.[YourCom].dllYourCom不過是原創的COM。所以如果COM名稱是MyCom.dll,那麼Interop應該是Interop.MyCom.dll。如果它在VS上的Debug模式下工作,那麼它應該在VS應用程序Bin文件夾中可用。

Interop dll的前提條件:COM應該在系統中註冊。

+0

感謝您指出這個Maiti,我會投票它,因爲它可能會導致其他有問題的答案。 – Aizen

0

它結束了,即使手動註冊,在我的情況不幫助,不要問我沒有想法爲什麼。

我通過讓VS工作室項目設置/構建選項卡/ Register COM複選標記來解決它。但訣竅是在管理員中運行VS,否則會出現錯誤。最後一步是右鍵單擊bin Folder並選擇添加到項目。不知道爲什麼沒有它就無法正常工作,因爲我非常肯定它不需要在當前項目中,因爲IIS無論如何都會在bin文件夾中進行重定向。

Interop名稱已被應用,但像Maiti所說,它是必需的。