設定:
EF 4.1 で動作する別のアプリのコピーであるアプリがあります。新しいアプリでは、ドメイン プロジェクトに EF 4.3.1 への nuget パッケージ参照を追加しました。
ローカル マシンではすべて動作しますが、サーバーでは次のエラーがスローされます。
Could not load file or assembly 'EntityFramework, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
明らかに、何かがまだ古いエンティティ フレームワーク 4.1 を参照していますが、見つかった dll は EF 4.3.1 dll だけです。
web.config には EntityFramework への参照はありません。
質問:
まだ古い dll を参照しているものを見つけるにはどうすればよいですか?
ソリューション内のすべてのプロジェクトからすべての EF 参照を削除し、EF 4.3.1 パッケージを各プロジェクトに追加しましたが、それでも満足できません。
ノート:
dependentAssembly を使用してバインディング リダイレクトを試すことができます (この SO の質問で受け入れられた回答を参照してください)
ただし、使用する名前とトークンが見つかりません。
それでも、単にバインディングをリダイレクトするよりも、問題のルートにたどり着くほうがよいでしょう。