【发布时间】:2017-03-21 21:52:52
【问题描述】:
我在 MVC 应用程序的 web.config 中有以下程序集引用...
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.0.0.0" />
</dependentAssembly>
每次我安装或更新任何 nuget 包时,版本号都会自动更新为 4.1.1.0。然而,这完全破坏了我的应用程序。它显示错误...
类型违反了继承安全规则: 'System.Net.Http.WebRequestHandler'。派生类型必须匹配 基类型的安全可访问性或难以访问。
我发现了其他问题,建议的解决方案是再次更改版本号。然而,这似乎并不特别令人满意。一定有一些潜在的问题导致我不得不总是使用这个模块的旧版本。我正在尝试找到一个合适的解决方案,而不是不断地破解它以使其工作。
有谁知道这个问题的真正原因,并且知道使用所有软件包的推荐版本来修复它的正确方法吗?
【问题讨论】:
-
原来的bug在System.Net.Http 4.3.1版本中得到解决——见Inheritance sec rules violated by type: 'System.Net.Http.WebRequestHandler'.