但是,当我单击“更新”按钮时,出现以下错误:
错误:将“Microsoft.AspNet.Mvc 4.0.20710.0”更新为“Microsoft.AspNet.Mvc 5.1.2”失败.
Unable to find a version of ‘AspNetMvc’ that is compatible with
‘Microsoft.AspNet.Mvc 5.1.2’.
在使用此包的两个项目中都会发生这种情况:
我正在两个项目上运行.NET 4.5框架.有什么我可以做的升级这个包,或者它只是与4.5兼容,或者我现在应该使用不同的NuGet包吗?
这是我执行的黑魔法似乎解决了它.首先,卸载3个旧的MVC库(如建议的in this comment),重新安装新的,重建.至少对于这部分我可以在NuGet管理包UI中进行,其中更新在同一位置失败.此时NuGet很高兴,您可以编译,但您的应用程序实际上无法正常工作.
接下来,请务必完全遵循Upgrade ASP.NET 4 document referenced in the other comment中的每一步.当我偶然遗漏一步时,我会得到奇怪的,非直观的错误(回想起来很明显).例如,您必须更新两个单独的Web.config文件,root和Views目录中的一个.您必须找到旧版本号并在该版本中手动更改它们,其中有时会自动为您修复根Web.config.否则我会看到可怕的错误,例如“System.Web.WebPages.Razor.WebPageRazorHost类型违反的继承安全规则”等等.我应该将每个错误消息都复制下来以供后人使用,但重点是,对于每个错误,我都会回到升级指南,检查步骤,意识到我错过了一个,修复然后再出现一个新的错误,直到他们全部走了.
有好消息.至少在我的情况下,尽管所有可怕的警告你必须找到不兼容性,应用程序的其余部分仍然像以前一样工作而没有任何更改.