Методът на разширение, който точно съвпада с необходимите аргументи, има някои невалидни аргументи

Наскоро започнах да работя върху приложение 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 intellisense. Приетото решение е да инсталирате Web Tools 2013, което вече направих. Рестартирането на IDE не показа разлика.


person Asad Saeeduddin    schedule 01.04.2014    source източник