サード パーティの .Net アセンブリを参照するクラス ライブラリを含むソリューションがあります。これらのサード パーティ アセンブリには、非 .Net アセンブリへの依存関係があります。非 .Net アセンブリは bin フォルダーにコピーされないため、「xxx アセンブリまたはその依存関係の 1 つを読み込めませんでした」というエラーが発生します。そのため、ビルド前のイベントを作成してそれらを bin フォルダーにコピーすると、問題が解決しました。
次に、同じソリューションでコンソール プロジェクトから自分のプロジェクトを参照すると、同じエラーが発生したため、コンソール プロジェクトのビルド前イベントで同じことを行いました。繰り返しますが、これで問題は解決しました。
同じソリューションで MVC アプリケーションからクラス ライブラリ プロジェクトを参照すると、同じエラーが発生します。しかし、他の 2 つの状況で機能した同じビルド前イベントを使用しても、Web アプリの問題は解決しません。開発サーバーと IIS の両方を使用してみましたが、同じエラーが発生します。また、Global.asax の Application_Start() で AssemblyResolve にハンドラーを追加して、何が起こっているかを確認しようとしましたが、起動しません。
Web アプリの bin ディレクトリ以外の場所にファイルを配置する必要がありますか?
Windows 7、IIS 7、VS 2010、.Net 4、MVC 3