問題の説明:
共有ライブラリ「shared.dll」プロジェクトは、System.Net.HttpNuGetパッケージ4.3.0を参照します。 「shared.dll」を参照するアプリケーションが失敗する
System.IO.FileLoadException
ファイルまたはアセンブリ 'System.Diagnostics.DiagnosticSource、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = cc7b13ffcd2ddd51'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)
system.Net.Http.WinHttpHandler.SendAsync(...)で
この問題を調査した結果、上記の失敗の原因は次のとおりです。
いくつかの回避策があります:
<assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" /> </dependentAssembly> </assemblyBinding>
適切な問題の解決策は、パッケージの所有者による前述のNuGetパッケージの不整合を修正することにあるとはいえ、しつこい感じがあります。ソースで修正された場合、System.Net.Httpパッケージを消費するコードの回避策は必要ありません。
質問:
ありがとう。
NuGetから System.Net.Http (バージョン4.3.1)をインストールしてこの問題を解決しました。
私の場合、
FileLoadException:ファイルまたはアセンブリを読み込めませんでした 'System.Diagnostics.DiagnosticSource、Version = 4.0.3.0、Culture = neutral、Public KeyToken = cc7b13ffcd2ddd51'。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)
asp.Net Core2.0プロジェクトにMicrosoft.AspNetCore.TestHostパッケージ「2.1.0-preview2-final」が追加されたときに開始されました。修正は、安定バージョン「2.0.2」をインストールすることでした