Asp.net mvc 升级到ASP.NET MVC 5和Web API 2后如何解决nuget DLL地狱

Asp.net mvc 升级到ASP.NET MVC 5和Web API 2后如何解决nuget DLL地狱,asp.net-mvc,asp.net-mvc-4,asp.net-mvc-5,Asp.net Mvc,Asp.net Mvc 4,Asp.net Mvc 5,我已经将ASP.NET MVC4升级为ASP.NET MVC 5.1 我在升级nuget软件包时遇到困难,有很多错误和回滚: 比如说 Install failed. Rolling back... Install-Package : Updating 'Microsoft.AspNet.WebApi.Core 4.0.20710.0' to 'Microsoft.AspNet.WebApi.Core 5.1.0' failed. Unable to find a version of 'Mi

我已经将ASP.NET MVC4升级为ASP.NET MVC 5.1

我在升级nuget软件包时遇到困难,有很多错误和回滚:

比如说

Install failed. Rolling back...
Install-Package : Updating 'Microsoft.AspNet.WebApi.Core 4.0.20710.0' to 
'Microsoft.AspNet.WebApi.Core 5.1.0' failed. Unable to find a version of 
'Microsoft.AspNet.WebApi.OData' that is compatible with 'Microsoft.AspNet.
WebApi.Core 5.1.0'.


是否有一些简单的步骤来清理和更新所有的DLL,并摆脱这个DLL地狱?

最后我解决了这个问题,即使使用nuget命令“update Package”升级失败

  • 我已经通过nuget卸载了所有有问题的软件包及其对每个项目的依赖关系
  • 我已经为解决方案中的所有项目设置了相同的.NET Framework 4.5.1(可能不是必需的)
  • 我已经通过nuget逐个安装了这些软件包
  • 我通过FindConflictingReferences工具比较项目之间的引用来检查结果,并修复了可能的冲突

  • 修复它花了我很长时间…

    删除项目中所有nuget软件包的快速方法是手动编辑packages.config文件,然后删除所有dll引用(仅适用于nuget软件包中的dll)


    这比完全通过nuget package manager卸载所需的时间要少得多,尤其是在有如此大的依赖关系树的情况下。

    我曾经在那里工作过。我离开你说的地狱的唯一方法就是痛苦。恐怕你已经知道它是什么了。为了详细说明Tom的答案——我能让MVC和WebAPI升级正常工作的唯一方法是在我的packages.config文件
    中找到这些行,并用
    替换它们。在那之后,我所要做的就是添加一些绑定重定向,然后我就可以开始了。
    Update-Package : Updating 'Microsoft.Net.Http 2.0.20710.0' 
    to 'Microsoft.Net.Http 2.2.18' failed. Unable to find versions of 
    'Microsoft.AspNet.WebApi.Client, Microsoft.AspNet.WebApi.OData' that 
    are compatible with 'Microsoft.Net.Http 2.2.18'.