Ser*_*lov 16 dll system.net fileloadexception nuget-package .net-4.6.2
问题描述:
共享库"shared.dll"项目引用System.Net.Http NuGet包4.3.0.引用"shared.dll"的应用程序失败
System.IO.FileLoadException
无法加载文件或程序集'System.Diagnostics.DiagnosticSource,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = cc7b13ffcd2ddd51'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)
在System.Net.Http.WinHttpHandler.SendAsync(...)
在调查此问题之后,我们针对上述故障找到了以下原因:

有几种解决方法:
Run Code Online (Sandbox Code Playgroud)<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包消耗代码的解决方法.
问题:
谢谢.
我觉得回答我自己的问题实际上是正确的,因为 99% 的答案已经存在。
github/corefx 的开发团队承认,此问题解决方案是另一个已知问题修复的副作用,其本质是从 System.Net.Http 项目中删除对 System.Diagnostics.DiagnosticSource.dll 的硬引用。
在那之前:可以根据个人喜好使用提供的两种解决方法中的任何一种。
| 归档时间: |
|
| 查看次数: |
4724 次 |
| 最近记录: |