2017-09-21 107 views
1

我正在開發一個WebService,我使用COM參考(dll文件,我在項目中添加了這個參考)。當我通過VisualStudio運行我的webservice時,所有工作正常。但是,當我在發佈本地IIS並嘗試網絡服務器執行的web服務,我得到的錯誤:IIS中發佈的類未註冊錯誤發佈的WebService

"System.Runtime.InteropServices.COMException: Retrieving the COM class factory for component with CLSID {80327130-FFDB-4506-B160-B9F8DB32DFB2} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). 
    at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) 
    at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) 
    at System.Activator.CreateInstance(Type type, Boolean nonPublic) 
    at System.Activator.CreateInstance(Type type) 
    at WebServiceDA.WebService1..ctor()" 

我嘗試註冊在Syswow64資料和System32文件夾中的類,但不起作用。

我的機器是64位,COM是32位。但是當我將Plattform目標更改爲'X86'(最初是'任何CPU')時,我得到了以下錯誤:

無法加載文件或程序集或其某個依賴項。試圖加載格式不正確的程序。

有什麼想法? 非常感謝!

回答

1

轉到與您的網站關聯的應用程序池的高級設置。 enter image description here

設置在常規部分啓用32位應用爲true。

這應該解決它。

+0

作品!非常感謝! – FelipeFonsecabh