.NET 3.0以降、Microsoftはいくつかの一般的なアセンブリをに移動したようです
C:\Program Files\Reference Assemblies\Microsoft\Framework\xxx
cLR2.0とCLR4.0 GACを分割する彼らの努力をサポートするために(
C:\%windir%\Microsoft.NET\Assembly
)。
しかし、私は両方を持っていますが
C:\Program Files\Reference Assemblies\Microsoft\Framework\xxx
そして
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0
私の開発マシンでは、後者は.NET4.0をインストールしたばかりのサーバーには存在しません。そこに展開されているWCFプロジェクトは、このフォルダーからいくつかの一般的なDLLを参照し、それらを見つけることができません。
私は何が間違っているのですか?これらの参照を新しい4.0GACに明示的に変更する必要がありますか?このフォルダがサーバーに存在しないのはなぜですか?
参照アセンブリフォルダーは、VisualStudioで使用されます。実際にデプロイされたアプリケーションは、c:\ Windows\Microsoft.Net\AssemblyにあるGACを使用します。サーバーにVisualStudioをインストールしていないと想定しているため、参照アセンブリフォルダーはありません。
サーバーでWCFをホストしている場合は、クライアントフレームワークだけでなく、.NET4.0フルフレームワークがインストールされていることを確認する必要があります。