最近、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)'
には無効な引数が含まれています
しかし明らかに、2 つの文字列を の拡張メソッドに渡すとSystem.Web.Mvc.HtmlHelper
、これは必要な署名と正確に一致します{{extensionmethod}}(System.Web.Mvc.HtmlHelper, string, string)'
。ここで何が問題なのですか?
奇妙なことに、これは Intellisense にのみ影響します。ビューはコンパイルされ、問題なく実行されます。Visual Studio 2012 (私が使用している) が Razor 3 Intellisense に問題があることを示唆するリンクをいくつか見つけました。受け入れられた解決策は、私が既に行ったWeb Tools 2013をインストールすることです。IDE を再起動しても違いはありませんでした。