【发布时间】:2014-09-15 20:34:24
【问题描述】:
我仍在使用 Visual Studio 2012,创建 ASP.Net MVC 4 应用程序。
当我创建一个新项目时,许多(所有)默认添加的 NuGet 包都已过期。如果我去包管理器控制台并提交:
Update-Package
命令,然后一切更新就好了,但项目将不再运行。您可以在接下来的几个小时内尝试从该状态中恢复。你不太可能成功。
例如,Microsoft.AspNet.WebPages 项目默认包含在新的 MVC4“Internet”项目中。安装的版本是 2.0.20710.0。
如果我将其更新到最新版本,我将获得 3.2.2 版本(截至目前。您,未来阅读本文的人,无疑会有不同的版本)。应用程序中断。它不再起作用了。祝你好运,让它再次工作。
通过反复试验,在您的应用程序永远死机之前安装到 2.0.30506 版似乎是安全的。
我想知道的是,既然 VS2012 和 MVC4 已经是老新闻了,是否有一个列表列出了默认 MVC4 模板的最新包版本,这些模板仍然可以与 MVC4 一起使用?
也许只是一个 Install-Package 命令的列表,例如:
Install-Package Microsoft.AspNet.WebPages -Version 2.0.30506
(请注意,我现在忽略了无法更新到最新版本的软件包并获得所有修复程序的安全问题......这可能值得自己提出问题)
【问题讨论】:
-
好吧,虽然从技术上讲这不是一个答案,但最好的办法是开始使用 MVC5 进行新项目。并非所有用户都幸运地能够以这种方式回避问题,但 Visual Studio 2012 提供了可用的 MVC5 工具,如果您可以使用 MVC5,那么您绝对应该这样做。在 MVC4 中创建新项目是个坏主意,除非您真的别无选择(例如,如果您只有 Visual Studio 2010 并且无法升级)。
-
事实上,这是一个很好的答案。我没有意识到 2012 可以得到 MVC5。我认为那是 > VS 2013 唯一的事情。
标签: asp.net-mvc-4 visual-studio-2012 nuget