[英]Could not load type 'Firebase.Database.FirebaseObject`1' from assembly 'Firebase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
[英]Could not load type 'AgencySystem' from assembly 'EPaymentInvoicing, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
我已經為此苦苦掙扎了好幾天了。 谷歌搜索和嘗試差異的東西,但沒有進展。
我正在做一個MVC項目,但我需要使用另一個項目(網絡項目)的服務。 我確實構建了Web項目,並在mvc項目中引用了它的dll。 我可以從引用的項目中訪問成員,並且一切都可以編譯。
但是,問題出在運行時,我的代碼正在調用所引用項目的類,並拋出該“無法加載類型”!
這是有問題的代碼行
CurrentAgency = new AgencySystem().RetrieveByApiCode(agencyCode);
AgencySystem在引用的程序集中。
但是它一直說“無法從程序集“ EPaymentInvoicing”中加載類型“ EPaymentInvoicing.BusinessFacade.AgencySystem”,版本= 1.0.0.0,區域性=中性,PublicKeyToken =空”。
知道為什么嗎? 注意:引用的項目是使用vs2008構建的,而MVC項目是在vs2010中構建的
謝謝(如果您需要更多信息,我會很高興)
問題出在程序集名稱上。 多虧了Saibal,我能夠看到兩個項目具有相同的程序集名稱,並且運行時可能正在引用引用程序集並在其中查找AgencySystem類型。
更改其中一個程序集的名稱解決了我的問題。
檢查平台類型。 可能是dll是為x64編譯的,而您的項目是為x86設置的,反之亦然。
我不認為這是平台問題,因為在這種情況下應該拋出BadImageFormatException。
智能感知能識別AgencySystem類嗎? 如果是這樣,那么您可能引用了比在編譯文件夾中復制的程序集新的程序集,因此清理解決方案(並可能刪除bin和obj文件夾)應該可以解決該問題。
如果intellisense無法識別該類,則它可能不存在。
我建議特別為EPaymentInvoicing程序集添加版本代碼和強名,如果您將其引用為編譯程序集而不是項目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.