我決定今天修改一些代碼,並遇到一個對我來說沒有任何意義的錯誤。我有一個名爲IDatabase
的接口和一個繼承它的類,名爲Database
。我原本只是把IDatabase
放在與Database
相同的組件中,但我不喜歡這個,因爲它會阻止另一個人在沒有整個組件的情況下創建一個新類型的IDatabase
。我將IDatabase移動到一個名爲LibraryInterfaces
的新單獨程序集中,並更改了項目中的所有參考。無法從程序集'<程序集名稱>'加載類型'<typename>'
該項目編譯好,但是當我執行它,我得到的錯誤:
Could not load type 'Company.Database.IDatabase' from assembly 'Company.Database'.
這沒有任何意義,我,因爲我感動IDatabase
的定義LibraryInterfaces
!我再次檢查正在運行的文件夾中的文件,並且文件是正確的。我甚至在Reflector中打開它們,只是爲了仔細檢查所有的引用,而且這些引用也是正確的。我也刪除了我的using
聲明,並且完全符合IDatabase
的所有用法,即使這樣也沒有辦法!
有沒有人有解決此問題的提示?
我認爲那些問題是過去的方式 - 我曾經用VC++做過這件事,但之前並沒有用過C#。謝謝,我現在就試試! – Dave 2010-06-24 16:03:41
絕對沒有這個伎倆,謝謝!我無法相信這仍然是必須要做的事情。任何人都可以解釋爲什麼這是事實嗎? – Dave 2010-06-24 16:35:13
我不知道實際的原因是什麼,但某些地方的某些引用不會更新。很高興解決了你的工作:) – Patricia 2010-06-24 17:14:26