我有兩個項目。項目A是一個Web項目,項目B是一個數據訪問庫。項目B引用了另一個項目(項目C),以及一些第三方dll,這些dll通過目錄調用「庫」中的文件引用。如果我將項目B作爲項目參考引用,則一切正常。相反,如果我引用輸出到項目B的bin/debug文件夾中的dll,則會生成所有內容,但是我收到以下錯誤,我們在開發Web服務器中內置的錯誤嘗試顯示默認頁面。在Visual Studio 2008中引用dll二進制文件或引用項目時是否有區別?
[BadImageFormatException: Could not load file or assembly 'my_dal.data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.]
我運行Windows 7 64位操作系統,所以它似乎我有一個32/64位的問題,但我不能看到構建過程是如何工作的一個參考,而不是其他。
所有項目B的依賴關係都被複制到它的bin/debug文件夾中,並且我確定我已經引用了所有項目。我想它可能是在System.Data或其他庫中內部創建一個引用,但是我的所有項目都是爲「Any CPU」編譯的,所以我不明白爲什麼會出現二進制不匹配。有沒有任何工具可以用來查看.dll的依賴關係?我明白項目參考是要走的路,但我想從這種情況中儘可能地學習。 –