编译需要bindingRedirect的C#库项目

时间:2014-03-14 11:41:43

标签: c# .net visual-studio

我正在引用第三方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的库项目?

1 个答案:

答案 0 :(得分:2)

您收到编译时错误,因为第三方DLL公开了System.Net.Http中的类型。您只需要添加对System.Net.Http程序集的引用即可解决它。

使用Nuget这样做。你想要Microsoft HTTP Client Libraries package