この奇妙な例外がスローされ始めたばかりで、先に進んで解決する方法が完全にわかりません。
[A]System.Net.Http.Headers.MediaTypeHeaderValue cannot be cast to [B]System.Net.Http.Headers.MediaTypeHeaderValue.
Type A originates from 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' in the context 'Default' at location 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Net.Http\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Net.Http.dll'.
Type B originates from 'System.Net.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' in the context 'Default' at location 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Net.Http\v4.0_2.0.0.0__b03f5f7f11d50a3a\System.Net.Http.dll'
この行のクライアント側の WebAPI でエラーが発生します。
var data = responsecontent.ReadAsAsync<List<MyClass>>().Result;
API クライアントをホストする Web サイトと API ソリューションの両方で、この DLL へのすべての参照を確認しました。それらはすべてまったく同じ dll を参照しています。
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Net.Http.dll
API が新しいバージョンの dll を使用していることに気付きましたSystem.Net.Http.Formatting
が、その唯一のマイナー バージョンの増分であり、他の何かへの依存関係として更新されたので、「ダウングレード」して別の問題を作成しようとするのは嫌です。
API System.Net.Http.Formatting は次のとおりです。
\Microsoft.AspNet.WebApi.Client.4.1.0-alpha-121112\lib\net40\System.Net.Http.Formatting.dll
Web サイトの System.Net.Http.Formatting は次のとおりです。
\Microsoft.AspNet.WebApi.Client.4.0.30506.0\lib\net40\System.Net.Http.Formatting.dll
ドロップダウン メニューで [安定版のみ] を選択した場合でも、NuGet がアルファ パッケージを依存関係としてダウンロードすることに懸念を抱いています。