我正在使用NHibernate的SqlServerCe系統。從我的驅動程序中,如果我添加System.Data.SqlServerCe程序集作爲參考,我可以很好地創建和運行對數據庫的查詢。當試圖使用NHibernate的,不過,我得到以下異常:無法加載文件或程序集
類型「System.IO.FileNotFoundException」的第一次機會異常出現在mscorlib.dll 其他信息:無法加載文件或程序集「系統。 Data.SqlServerCe'或它的一個依賴關係。該系統找不到指定的文件。
我追查到一個對Assembly.Load(「System.Data.SqlServerCe」)的調用,這看起來應該工作的異常。 System.Data.SqlServerCe程序集在GAC中(我也嘗試將它作爲本地引用添加到CopyLocal = true中,無濟於事),並且我可以使用它的成員,所以爲什麼我不能顯式地加載它?當我在Reflector中打開程序集時,它在加載System.Transactions引用時遇到了問題(我也嘗試將它添加爲本地引用,但無濟於事),因此加載該程序集可能是問題,而不是系統。 Data.SqlServerCe程序集。
這是常見問題嗎?系統配置錯誤,也許?
看起來你從來沒有聽說過融合:http://www.hanselman.com/blog/BackToBasicsUsingFusionLogViewerToDebugObscureLoaderErrors.aspx – zvolkov 2009-06-01 19:41:18
哦,整潔的工具。它給我的反饋是: LOG:之前看到過相同的綁定,並且hr = 0x80070002失敗。 ERR:在預先下載檢查期間發生不可恢復的錯誤(hr = 0x80070002)。 這似乎沒有什麼用處 - 之前失敗了,所以讓我們再次失敗?我需要閱讀融合文檔,希望能夠更好地理解這一點。 但是我指出了我的問題的解決方案 - 下面的細節。 – Dathan 2009-06-01 22:39:51