0

クライアント側アプリケーションと WebApi Web サイトで構成されるアプリケーションがあります。

私のクライアント側のものは.NET 4をターゲットにしているので、ユーザーが.NET 4.5をインストールすることを主張する必要はありません。ただし、私の Web サイトは完全に私の管理下にあるため、.NET 4.5 をターゲットにしています。

データ アクセスに使用する共有アセンブリが 1 つあります。Entity Framework 5 を使用しています。

クライアント アプリケーションをビルドするときに使用する DLL はバージョン 4.4.xxx ですが、Web アプリケーションをビルドするときに使用する DLL は 5.0.xxx です。

これまでは、クライアント アプリケーションを問題なく実行できました。また、Web アプリケーションも問題なく実行できました。

しかし、Web アプリケーション プロジェクトをゼロから作り直したところ (*)、突然実行できなくなりました。データ アクセス アセンブリが最初に呼び出された時点で、「ファイルまたはアセンブリ 'EntityFramework, Version=4.4.0.0 ... を読み込めませんでした」という YSOD が表示されます。

これで、そのエラーの意味が完全に明確になりました - データ アクセス アセンブリで使用されている v4.4 DLL が見つかりません - しかし、それが問題ではなかったのに、なぜそれが私の新しいプロジェクトの問題なのか理解できません。私の古いプロジェクトで。私が見る限り、各プロジェクトで同じ DLL が参照されています。

(*) プロジェクトを再作成する理由を説明する必要があります。最初に VS 2012 RC でプロジェクトを作成し、後でリリース バージョンにアップグレードしました。これによりプロジェクトがアップグレードされたと思われますが、いくつかの問題があり、新しく作成されたプロジェクトとの違いにも気付きました。したがって、安全を確保するために、そしてうまくいけば他の問題を回避するために、私はそれをゼロから再作成しています。

それで、私の質問: なぜこれが突然問題になったのですか? また、それを解決するにはどうすればよいですか?

4

1 に答える 1

4

コードは、正確なバージョンを要求するように設定されたアセンブリに依存していますか? その場合、EntityFramework アセンブリのパブリッシャー ポリシーまたは参照元アプリケーション (Web プロジェクト) の bindingRedirect が必要なります

于 2012-09-24T11:02:18.093 に答える