【问题标题】:Unable to update NuGet package "Microsoft ASP.NET MVC" from version 4.0.20710.0 to 5.1.2无法将 NuGet 包“Microsoft ASP.NET MVC”从版本 4.0.20710.0 更新到 5.1.2
【发布时间】:2014-04-24 18:37:16
【问题描述】:

我在 NuGet 中有以下过期包:

但是,当我单击更新按钮时,我收到以下错误:

错误:将“Microsoft.AspNet.Mvc 4.0.20710.0”更新为“Microsoft.AspNet.Mvc 5.1.2”失败。

找不到兼容的“AspNetMvc”版本 'Microsoft.AspNet.Mvc 5.1.2'。

这发生在使用这个包的两个项目上:

我在这两个项目上都在 .NET 4.5 框架上运行。我可以做些什么来升级这个包,还是它与 4.5 不兼容,还是我现在应该使用不同的 NuGet 包?

【问题讨论】:

    标签: asp.net .net asp.net-mvc-4 razor nuget


    【解决方案1】:

    先把项目框架改成4.5.1

    打开 nuget 包管理器控制台并

    1. 卸载包 AspNetMvc
    2. 卸载包 Microsoft.AspNet.Mvc
    3. 安装包 Microsoft.AspNet.Mvc

    这对我有用。

    【讨论】:

      【解决方案2】:

      MVC 5.1 基于 .NET 4.5.1。这是你的第一个问题。您需要在项目上下文菜单 > 属性下将目标框架更改为“.NET Framework 4.5.1”。

      如果这不起作用,您可能需要卸载 MVC 包并重新安装。

      我的经验是,从主要版本升级可能会很痛苦,而且您对细节的关注(尤其是在更改 web.config 时)至关重要。您可以在此处查看从 4 到 5 的指南,并针对 5.1 进行相应调整:http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2

      根据您项目的复杂程度,使用 4.5.1 Visual Studio MVC 模板将现有代码文件转移到新创建的项目中会更容易。

      【讨论】:

      • 太棒了!我们刚刚从 .NET 4.0 升级到 4.5,所以我会尝试升级到 4.5.1,看看是否有帮助。
      • 谢谢!以 4.5.1 为目标并删除并重新安装该软件包解决了该问题。现在,当我加载站点时出现运行时错误,但我想这是一个单独的问题。将此标记为答案。
      【解决方案3】:

      据我所知,升级到 4.5.1 并没有真正解决问题。事实上,我能够在将目标框架保留为 4.5 的同时修复它。

      这是我施展的黑魔法,似乎可以修复它。首先,卸载 3 个旧的 MVC 库(建议 in this comment),重新安装新的,重建。至少对于这一部分,我可以在 NuGet Manage Packages UI 中执行此操作,其中更新在同一个地方失败。此时 NuGet 很高兴,你可以编译,但你的应用程序实际上并不能工作。

      接下来,请务必遵循Upgrade ASP.NET 4 document referenced in the other comment 中的每一步。当我不小心遗漏了一步时,我会得到奇怪的、非直觉的错误(回想起来很明显)。例如,您必须更新两个单独的 Web.config 文件,根文件和 Views 目录中的一个。您必须找到旧版本号并手动更改它们,其中根 Web.config 有时会自动为您修复。否则我会看到可怕的错误,比如“System.Web.WebPages.Razor.WebPageRazorHost 类型违反了继承安全规则”等等。我应该为后代复制每个错误消息,但关键是对于每个错误,我都会返回该升级指南,检查步骤,意识到我错过了一个,修复然后得到一个新错误,直到它们全部走了。

      有个好消息。至少在我的情况下,尽管所有可怕的警告都是你必须去寻找不兼容的地方,但该应用程序的其余部分仍然像以前一样工作,没有任何变化。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-08
        • 1970-01-01
        • 2018-03-20
        • 1970-01-01
        • 2020-09-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多