在装配版本之间键入歧义

时间:2017-06-09 06:07:28

标签: c# .net version assembly-binding-redirect

我有以下代码行生成错误:

public class AccountController : ApiController

错误是:

  

CS0433类型' ApiController'存在于' System.Web.Http中,   Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'   和' System.Web.Http,Version = 5.2.3.0,Culture = neutral,   公钥= 31bf3856ad364e35'

我有一个非常新手尝试组装重定向,但他们有多难?

<runtime>
  <assemblyBinding  xmlns="urn:schemas-microsoft-com:asm.v1">
    <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
  </assemblyBinding>
</runtime>

重定向似乎根本没有效果。

我目前的选择是消除其中一个版本,而我更倾向于转储旧的4.0.0.0,但是所需库之间的冲突似乎使这很困难。

1 个答案:

答案 0 :(得分:0)

您的 oldVersion 上限等于 newVersion 。尝试 0.0.0.0-5.2.2.999 ,这可能会有所帮助。