【问题标题】:Assembly 'XXX' which has a higher version than referenced assembly具有比引用程序集更高版本的程序集“XXX”
【发布时间】:2017-11-03 20:54:36
【问题描述】:

目前,我为客户编写了一个旧解决方案。一开始想把系统迁移到VS2017。
我解决了所有问题,但只有一个:

错误 CS1705 程序集 'Crm.Library' 标识为 'Crm.Library, Version=3.2.16.0, Culture=neutral, PublicKeyToken=null' 使用 'System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35',其版本高于引用的程序集 'System.Web.Mvc',标识为 'System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35' Crm.Web C:\Source\ src\Crm.Web\CrmApplication.cs 158 活动

所以我尝试了很多方法,例如将其添加到web.config

<dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.2.3.0" />
</dependentAssembly>    

还尝试将配置中的特定版本设置为'false'

问题还是一样..

有人有想法吗?

【问题讨论】:

  • 问题是:要迁移,您需要升级 Crm.Library,这就是它告诉您的。
  • 那个DLL在你自己的项目中吗?还是在 GAC 中?检查版本是否匹配

标签: c# asp.net .net asp.net-mvc asp.net-mvc-4


【解决方案1】:

您的 Crm.Library 程序集(我假设它可能是您解决方案中的一个类库)正在引用 MVC5,而您包含它的项目正在引用 MVC4。你不能这样混搭。 Crm.Library 需要像其他项目一样引用 MVC4,或者您需要将它们全部升级到 MVC5。

【讨论】:

    猜你喜欢
    • 2013-12-08
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-30
    • 1970-01-01
    • 2015-09-02
    相关资源
    最近更新 更多