最近、MVC4 Web アプリケーションをソリューションに追加し、Common クラス ライブラリへの参照を与えました。Common クラス ライブラリには、モデルとコンテキスト (EF Code First) が含まれています。
Visual Studio のスキャフォールディング機能を使用して MVC4 アプリケーションに "コントローラーを追加" しようとすると、次のエラーが発生します。
「Common.Models.MyContext」のメタデータを取得できません。要求されたタイプの 1 つ以上を読み込めません。詳細については、LoaderExceptions プロパティを取得してください。
スタック オーバーフローに関する同様の質問を多数見つけましたが、この特定のシナリオでこの特定のエラー メッセージに対処するものはありません。
調査の結果、追加したすべてのパッケージとサード パーティの dll を共通ライブラリから削除すると、「コントローラーの追加」機能をエラーなしで使用できることがわかりました。これは、パッケージまたはサード パーティの dll の 1 つが必要な場所にないことを示しています (エラー メッセージで示されています)。
だから私の質問はこれらです:
- 問題の原因となっている dll を特定するにはどうすればよいですか? Visual Studio のスキャフォールディング ログ ファイルはどこかにありますか?
- 問題のある dll を見つけたとしましょう...足場エラーを修正するために dll はどこに存在する必要がありますか?