0

EntityFramework4.1を使用して簡単なWCFサービスを作成しました。私の参照では、EntityFramework.Dll4.1.0.0とSystem.Data.Entity4.0.0.0があります。両方でローカルコピーをTrueに設定しています。サービスを公開すると、上記の両方のDLLがBINフォルダーにありますが、サービスを呼び出すと、次のエラーが発生します。

指定されたアセンブリ名またはコードベース'C:\ WINDOWS \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Data.Entity \ v4.0_4.0.0.0__b77a5c561934e089\System.Data.Entity.dll'が無効でした。

4

1 に答える 1

0

System.Data.Entity.dll は bin デプロイ可能ではありません。ターゲット マシンに .NET Framework 4 がインストールされている場合は、このアセンブリが必要です。それはGACにあるはずです。アセンブリをロードするとき、CLR は最初に GAC を調べ、bin ディレクトリにあるものはすべて無視します。ターゲット マシンに .NET Framework 4 がない場合、プログラムは機能しません。System.Data.Entity.dll は .NET Framework の一部であり、.NET Framework (この場合は .NET Framework 4) に依存します。System.Data.Entity.dll への参照を削除して再読み込みし、プロジェクトで行ったすべての変更をクリアしてコピーし、プログラムをターゲット マシンに展開してみてください。

于 2012-06-04T21:34:41.853 に答える