1

Asp.Net MVC5ソリューションを開発している開発者チームがあります。git pullを実行した後、多くの場合、新しいデータベース移行フレームワーク6.1.3)が追加されました。更新データベースにエラーが発生しました - BadImageFormatException

パッケージマネージャコンソールで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になるように)。

migrate.exeがx64に対応していない可能性があります。 SO,Original MSDN article

ただし、この投稿はEF5用です。これは今の場合ですか?回避策はありますか? x64やEFがVisual Studioに新しく追加されたようなものではない。

答えて

1

回答を見つけるために管理しました。

問題は有効-移行コマンドをということであるにかかわらず、実際のビルド・パスが何であるか、EFは /binに/デバッグで、プロジェクトの構築されたDLLを探し ハードコードされたパスを持っていないように見えます。 プロジェクトをx64に変更すると、Visual Studioは静的にプロジェクトのビルドを/ bin/x64/Debugにパス に変更します.EFは/ bin/Debugを探し続けます。その はこの漠然としたSystem.BadImageFormatExceptionを引き起こします

プロジェクトのビルドパスを/ bin/Debugに変更するだけでも、魔法のようにすべてが機能し始めます。

https://stackoverflow.com/a/23666717

関連する問題