无法将NuGet软件包“Microsoft ASP.NET MVC”从版本4.0.20710.0更新到5.1.2

我在NuGet中有以下过时的包:

但是,当我单击“更新”按钮时,出现以下错误:

错误:将“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包吗?

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

这是我执行的黑魔法似乎解决了它.首先,卸载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类型违反的继承安全规则”等等.我应该将每个错误消息都复制下来以供后人使用,但重点是,对于每个错误,我都会回到升级指南,检查步骤,意识到我错过了一个,修复然后再出现一个新的错误,直到他们全部走了.

有好消息.至少在我的情况下,尽管所有可怕的警告你必须找到不兼容性,应用程序的其余部分仍然像以前一样工作而没有任何更改.

相关文章

文章浏览阅读2.2k次,点赞6次,收藏20次。在我们平时办公工作...
文章浏览阅读1k次。解决 Windows make command not found 和...
文章浏览阅读3.2k次,点赞2次,收藏6次。2、鼠标依次点击“计...
文章浏览阅读1.3w次。蓝光版属于高清版的一种。BD英文全名是...
文章浏览阅读974次,点赞7次,收藏8次。提供了更强大的功能,...
文章浏览阅读1.4w次,点赞5次,收藏22次。如果使用iterator的...