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 상관없이 실제 빌드 경로가 무엇인지, /빈/디버그에서 프로젝트의 건설 한 DLL을 찾습니다없는 하드 코딩 된 경로가 나타나는 것입니다. 프로젝트를 x64로 변경하면 Visual Studio는 프로젝트의 빌드 을/bin/x64/Debug로 조용히 변경하지만 EF는/bin/Debug를 계속 찾습니다. 그 은이 모호한 System.BadImageFormatException을 야기합니다.

프로젝트 빌드 경로를/bin/Debug 및 마술처럼 변경하는 것은 무해합니다. 모든 작업이 시작됩니다.

https://stackoverflow.com/a/23666717

관련 문제