1

IIS7 で ASP.NET プロジェクトを実行しています。Microsoft.Practices.EnterpriseLibrary.Common.dll、Microsoft.Practices.EnterpriseLibrary.Data.dll、および Microsoft.Practices.EnterpriseLibrary.ObjectBuilder2.dll を追加しました。

次のエラーが表示されます。

Error   2   Could not load file or assembly 'Microsoft_Practices_EnterpriseLibrary_Common' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)       

この問題を調査したところ、dll が正しい場所になく、projectdirectory/bin フォルダーにあることがわかりました。そのため、他にどこを参照すればよいかわかりません。Web.config で参照されていませんが、プロジェクト テンプレートでアセンブリ タグが生成されませんでした。

これらのアセンブリを参照する必要がありますか? その場合、PublicToken などの必要な属性はどこにありますか?

4

3 に答える 3

0

問題を修正しました。理由はわかりませんが、プロジェクトに新しいフォルダーを作成し、そこに dll を移動する必要があり、ソリューションをビルドすることができました。これは Web サイトのプロジェクトです。

于 2013-04-19T16:01:04.683 に答える
0

この問題は、他のツール/フレームワークでも発生することがあります。髪を引っ張らずに、欠落しているアセンブリへの参照を追加し、それらの参照を "Copy Local" = true に設定してください。GAC に配置されたフレームワーク API では、この問題が発生する傾向があることに気付きました。

于 2013-04-19T01:45:50.517 に答える
0

「Web サイト」プロジェクトの場合は、dll を bin フォルダーに入れるだけです。ただし、「Web アプリケーション」プロジェクトの場合は、参照を追加して copy local=true を設定する必要があります。

于 2013-04-19T02:47:18.840 に答える