2013-01-04 15 views
0

我正在使用C#開發Windows服務。我想用Windows服務加載CLIPSLIB.dll。首先,我嘗試在VS2010中將控制檯應用程序寫入服務,將CLIPSLIB.dll放置在項目調試文件夾中。它運行良好。 但是,當我安裝它並作爲Windows服務運行時,它會引發此異常。無法將CLIPSLIB.dll文件加載到Windows服務中

無法加載文件或程序集「Mommosoft.ExpertSystem,版本= 0.3.0.2,文化=中性公鑰= 20382083c6694bdc」或它的一個依賴。該系統找不到指定的文件。

因爲我發現這是因爲Windows Service無法加載相關的dll。那麼我應該把外部DLL加載到Windows Service中?

回答

1

Scott Hanselman有一篇文章介紹瞭如何調試程序集加載錯誤。該方法的缺點是需要更改註冊表項並重新啓動才能啓動融合加載器日誌記錄。

這篇文章可以在這裏找到: http://www.hanselman.com/blog/BackToBasicsUsingFusionLogViewerToDebugObscureLoaderErrors.aspx

,因爲你正在寫一窗口服務檢查,對於組裝的參考是指bin目錄,而不是一些其他的路徑。否則,融合加載器日誌將識別它試圖從何處加載程序集。

至於.dll文件添加一個文件夾到您的項目,並在那裏添加.dll文件,將生成的屬性從不復制複製,如果更新,以便.dll文件將最終在您的生成輸出bin路徑。

0

您必須重建CLIPSLib解決方案,

  1. 下載在這個環節中的所有文件: 鏈接:https://svn.code.sf.net/p/clipsnet/code/

    2.Open CLIPSLib.sln在CLIPSLib文件夾

    3.Right-點擊解決方案並選擇重建解決方案。

    4.轉到您的CLIPSLib.dll和CLIPSNet.dll所在的CLIPSLib文件夾.. \ .. \ mlplatform \ bin floder。

    希望得到這個幫助。

相關問題