我最近开始研究MVC 5应用程序,并且在我的Razor视图中遇到了关于intellisense的头脑风暴。我认为这张图片很好地总结了这个问题(对于小尺寸道歉,请点击右键并在新标签中打开或阅读下面的记录):
对于那些看不清楚的人,我调用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;视图编译并运行得很好。我发现一些links表明Visual Studio 2012(我正在使用)与Razor 3 intellisense有问题。接受的解决方案是安装Web Tools 2013,我已经完成了。重新启动IDE没有任何区别。