2013-04-19 72 views
1

我有一個在IIS7上運行的ASP.NET項目。我只是添加Microsoft.Practices.EnterpriseLibrary.Common.dll,Microsoft.Practices.EnterpriseLibrary.Data.dll,& Microsoft.Practices.EnterpriseLibrary.ObjectBuilder2.dll。ASP.NET - 未找到程序集

我收到此錯誤:

Error 2 Could not load file or assembly 'Microsoft_Practices_EnterpriseLibrary_Common' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)  

我研究這個問題,並發現這意味着該DLL沒有在正確的位置,但它是在我projectdirectory/bin文件夾。所以我不明白它應該被引用的地方。它沒有在我的Web.config中引用,但程序集標籤沒有在項目模板中生成。

我需要引用這些程序集嗎?如果是這樣,我在哪裏可以找到必要的屬性,即PublicToken等?

+0

如果您嘗試將dll添加到項目中,請右鍵單擊solution-> add reference。如果您正在部署您的網站,請將該dll複製到./bin文件夾中。 –

+0

可能的重複http://stackoverflow.com/questions/1110843/installing-microsoft-enterprise-libraries-and-databasefactory –

回答

0

有時候這個問題也會出現在其他工具/框架中。如果不把頭髮拉出來,只需添加對缺失部件的引用,並確保將這些引用設置爲「Copy Local」= true。我注意到放置在GAC中的框架API傾向於存在此問題。

0

如果它是一個「網站」項目,您可以將dll放入bin文件夾中。但是,如果它是一個「Web應用程序」項目,則需要添加一個引用並設置copy local = true。

0

我糾正了這個問題。我不知道爲什麼,但我必須在我的項目中創建一個新文件夾,並將該DLL移到那裏,然後才能構建解決方案。這是一個網站項目。

相關問題