Недавно я начал работу над приложением MVC 5 и столкнулся с проблемой IntelliSense в представлениях 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 intellisense. Принятое решение — установить Web Tools 2013, что я уже сделал. Перезапуск IDE не показал разницы.