2013-09-25 99 views
0

當我在VS2012中調試時,WCF運行正常。引用是好的,但是當我在IIS中發佈它時,服務無法解析引用。在發佈的輸出文件夾中,沒有這些dll,我不知道它是否正常。COM參考WCF服務錯誤

Used references

林歌廳這個錯誤:「沒有本質pudo recuperar EL generador德clases COM第下午componente CON CLSID {9A8831F1-A263-11D1-8DCF-00A0C90FFFC2} debido人siguiente錯誤:80040154 CLASE沒有registrada( Exceedo de HRESULT:0x80040154(REGDB_E_CLASSNOTREG))「

回答

0

您需要將這些程序集本地複製到您的生成輸出。最簡單的方法是改變它們在Visual Studio:

enter image description here

+0

嗨,這個選項是不允許在我的參考 – gsubiran

1

最簡單的事情是登錄到該服務器管理員和運行DLL的相同的安裝軟件包,你使用,讓他們在你的開發機。您可能不希望將Copy Local設置爲true以引用您的DLL。當安裝COM對象時,它們在註冊表中註冊,這就是爲什麼您需要管理員權限。您將首先想要在DEV服務器上測試這一點!

如果你沒有原始的安裝包,你可能必須谷歌DLLS,確保你得到正確的版本。

您只需執行一次此操作,然後即可在不重新安裝COM對象的情況下發布新版本的服務。

如果您希望能夠輕鬆安裝到多臺機器上,您可以通過在解決方案中添加一個安裝程序和部署項目來實現此目的,但可能DLL附帶的安裝程序會更好更簡單選擇。

編輯, 比如我發現RDO 2.0微軟網站MSRdo20.cab

+0

我發佈WCF在我開發的同一臺機器上。很少有我無法訪問這些參考文獻。我嘗試將管理員憑據設置爲ApplicationPool,但不起作用。 – gsubiran

0

這是不可能的IIS將有機會獲得您的文件夾上的安裝。您將必須授予擁有dll的文件夾的應用程序池標識讀取權限,或取消註冊它們並在其他地方註冊它們。