2013-09-05 32 views
2

我一直在爲此奮鬥了幾天。谷歌搜索和嘗試差異的東西,但沒有進展。無法從程序集'EPaymentInvoicing,版本= 1.0.0.0,Culture = neutral,PublicKeyToken = null'加載類型'AgencySystem'

我正在做一個MVC項目,但我需要使用另一個項目(Web項目)的服務。我確實構建了web項目並在mvc項目中引用了它的dll。我可以從引用的項目中訪問成員,並且一切都很好。

但是,問題出在運行時,我的代碼調用了引用項目的一個類,並拋出了這個「無法加載類型」的東西!

這是代碼行是有問題的

CurrentAgency = new AgencySystem().RetrieveByApiCode(agencyCode); 

AgencySystem是在引用的組件。

但它口口聲聲說 「未能從程序集加載類型」EPaymentInvoicing.BusinessFacade.AgencySystem 'EPaymentInvoicing,版本= 1.0.0.0,文化=中立,公鑰=空'。「

任何想法爲什麼? 注:引用的項目建設與VS2008和MVC項目在VS2010

感謝(如果u需要更多的信息請我會很高興)

回答

4

問題在於程序集名稱。 感謝Saibal,我能夠看到兩個項目都有相同的程序集名稱,運行時可能引用了引用程序集並在那裏尋找AgencySystem tyoe。

更改程序集之一的名稱修復了我的問題。

1

檢查平臺類型。這可能是dll是爲x64編譯的,而你的項目是爲x86編譯的,反之亦然。

+0

我該如何檢查? – oliverdejohnson

+0

@oliverdejohnson轉到項目proeprty在VS中,然後選擇生成選項卡,你會看到目標平臺。 – Kurubaran

+0

在您的項目屬性下,單擊構建並檢查目標平臺。改變目前有什麼,看看是否可行 – Saibal

0

我不認爲這是一個平臺問題,因爲它應該拋出BadImageFormatException在這種情況下。

智能感知是否識別AgencySystem類?如果這是真的,那麼可能你引用了一個比在編譯文件夾中複製的程序集更新的程序集,因此清理解決方案(也許刪除bin和obj文件夾)應該修復它。

如果intellisense沒有識別該類,那麼它可能不存在。

如果您將它引用爲編譯程序集而不是項目,那麼我會建議爲EPaymentInvoicing程序集特別添加版本代碼和強名稱。

相關問題