我正在引用第三方dll,它需要app.config文件中的bindingRedirect,如下所示:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.1.10.0" newVersion="2.1.10.0" />
</dependentAssembly>
...
</assemblyBinding>
</runtime>
我试图在C#库项目中引用它。该库将在WCF项目和MVC项目之间共享。 但是我的图书馆再也找不到参考文献了。我收到以下警告:
无法解决主要参考“ThirdParty”,因为它 对框架程序集“System.Net.Http”有间接依赖关系, Version = 1.5.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a“ 这在目前的目标框架中无法解决。 ” .NETFramework,版本= V4.0" 。要解决此问题,请删除 引用“ThirdParty”或将您的应用程序重新定位到框架 包含“System.Net.Http,Version = 1.5.0.0, Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a“
我已将app.config文件添加到具有所需bindingRedirect的库中。但是会忽略此配置。
我也尝试将库转换为控制台应用程序。在这种情况下,它可以完美地编译并运行。
如何编译需要assemblyBinding来执行bindingRedirect的库项目?
答案 0 :(得分:2)
您收到编译时错误,因为第三方DLL公开了System.Net.Http中的类型。您只需要添加对System.Net.Http程序集的引用即可解决它。
使用Nuget这样做。你想要Microsoft HTTP Client Libraries package。