我最近开始研究 MVC 5 应用程序,并且在我的 Razor 视图中遇到了关于智能感知的问题。我认为这张图片很好地总结了这个问题(对小尺寸表示歉意,请右键单击并在新标签中打开或阅读下面的文字记录):
对于那些看不清楚这一点的人,我调用Html.ActionLink("Create new", "Create")
, 会导致 IDE 抱怨以下内容:
'System.Web.WebPages.Html.HtmlHelper'
不包含 的定义ActionLink
,并且最好的扩展方法重载'System.Web.Mvc.Html.LinkExtensions.ActionLink(System.Web.Mvc.HtmlHelper, string, string)'
有一些无效参数
但很明显,如果我将两个字符串传递给 的扩展方法System.Web.Mvc.HtmlHelper
,这与所需的签名完全匹配{{extensionmethod}}(System.Web.Mvc.HtmlHelper, string, string)'
。这里有什么问题?
奇怪的是,这只会影响 Intellisense;视图编译并运行得很好。我发现一些链接表明 Visual Studio 2012(我正在使用)在 Razor 3 智能感知方面存在问题。公认的解决方案是安装Web Tools 2013,我已经完成了。重新启动 IDE 没有任何区别。