18

我最近安装了 vs 2013 Professional 并在其中打开了我的一个项目应用程序。该项目是一个使用 razor 视图引擎的 MVC3 应用程序。我注意到,在编辑视图 (cshtml) 时,我无法访问我在 2012 年习惯的智能感知。我立即注意到的两个示例是 @Url.Content() 和 @Viewbag。代码仍然可以编译和运行,只是没有智能感知。在弄乱了一点之后,我想我应该检查升级日志,果然我发现了......

“Razor(CSHTML 和 VBHTML)文件的 Intellisense 仅限于 HTML 标记。有关如何升级 MVC 3 项目的其他信息,请参阅http://go.microsoft.com/fwlink/?LinkID=317645 。”

提供的链接只是告诉您从 mvc3 升级到 mvc4。我的问题是:这是我唯一的选择吗?为了在较旧的 mvc3 项目上使用 VS2013,我是否必须全部升级它们,或者 vs2013 是否会在 mvc razor 文件上支持完整的智能感知?

4

4 回答 4

19

在这里找到这个...

很快你就会在 VS2013 中看到一个新版本的 MVC5。MVC5 将被合并到 VS2013 中。VS2013 将不支持 MVC3。我上次在channel9上确认了。所以那些只安装过VS2013或者没有旧版本的人,对于还在MVC3中的项目会遇到麻烦。发生此错误是因为 MVC4 和 5 安装不包含 ASP.NET MVC 版本 3 中使用的 DLL。

http://geekswithblogs.net/anirugu/archive/2013/10/16/how-to-migrate-asp.net-mvc-3--mvc4-project-to.aspx

最终将项目升级到 MVC 5 ... 创建了一个新项目并带来了我的模型、视图和控制器文件夹的所有内容。还必须更新 webconfig 以包含我在上一个项目中安装的一些包。

于 2013-10-25T14:03:52.590 回答
13

在每个视图中添加这两行:

@inherits System.Web.Mvc.WebViewPage<dynamic>
@using System.Web.Mvc.Html

并且智能感知将再次适用于 VS2013 中的 MVC3

于 2015-02-26T21:39:57.920 回答
3

您可以尝试从解决方案资源管理器中卸载项目并重新加载。看看你能不能恢复你的智能感知。它对我有用。

于 2013-11-28T05:09:24.907 回答
0

1- 从工具中选择 Nuget 包管理器控制台 2- 下载 system.web.mvc 3 使用此 PM> Install-Package Microsoft.AspNet.Mvc -Version 3.0.20105.1

于 2017-02-13T22:10:46.237 回答