簡體   English   中英

更新數據庫失敗-BadImageFormatException

[英]Update-database failing - BadImageFormatException

我們有一個開發人員團隊致力於Asp.Net MVC5解決方案,通常在進行git pull獲取其他開發人員更改之后,我們需要使用任何新的數據庫遷移(實體框架6.1.3)來更新本地數據庫。添加。

我們在程序包管理器控制台中運行update-database以更新數據庫。 這一直有效,直到我們更改了所有項目以編譯x64輸出為止。 解決內存需求所需要的。

但是現在我得到:

System.BadImageFormatException: Could not load file or assembly 'My.Data' or one of its dependencies. 
    An attempt was made to load a program with an incorrect format.

當我運行Update-database 在重新編譯之前,我已經清理了所有bin和obj文件夾(以確保所有輸出的x64格式相同)。

看來問題可能出在於migration.exe與x64不兼容。 因此原始MSDN文章

但是,該帖子適用於EF5。 還是這樣嗎? 有解決方法嗎? 如果不是的話,這似乎很奇怪,就好像x64或EF不是Visual Studio的新增功能一樣。

設法找到答案。

問題在於,無論實際的構建路徑是什么,enable-migrations命令似乎都具有一個硬編碼的路徑,其中EF在/ bin / Debug下查找項目的已構建DLL。 當您將項目更改為x64時,Visual Studio會悄悄將項目的生成路徑更改為/ bin / x64 / Debug-而EF會一直在/ bin / Debug中查找。 這導致這個模糊的System.BadImageFormatException

只需將Project的構建路徑更改為/ bin / Debug,這是無害的,而且神奇的是,一切都按照預期的方式開始工作。

https://stackoverflow.com/a/23666717

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM