[英]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,這是無害的,而且神奇的是,一切都按照預期的方式開始工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.