障害
@Styles.Render("~/Content/CSS/Style")
上記でいうと、"Styles"の部分に赤線が表示され、マウスホバーすると「Stylesは宣言されていません。アクセスできない保護レベルにあります」というメッセージが表示されます。参照が解決されていないようです。
しかしビルドは通り、発行も行われ、実際にウェブ上で表示させてもエラーは出ません。
ネットでは「Viewフォルダ内のWeb.configにSystem.Web.Optimizationのnamespaceを追加せよ」とあり、確認しましたが、既に追加されています。
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
</system.web.webPages.razor>
解決策
ネットを漁ったところ、同じ点で困っている方がいらっしゃって、解決されていました。
おおもとはこちらのstackoverflowのページの情報です。
曰く、Visual Studioを閉じた状態で、以下のフォルダを削除します。
%LocalAppData%\Microsoft\VisualStudio<visual_studio_version_number>\ComponentModelCache
Visual Studioのバージョン番号はこちらのページで確認できます。
私の場合、Visual Studio 2019ですが、"16.0_xxxxxxxxx" のようなフォルダ名になっていました(xxxの部分は実際には何かのidのようでした)。
その後Visual Studioを起動すると、もはや赤線は表示されておらず、マウスホバーすると定義を参照してくれました。
同じ症状でお困りの方は、騙されたと思ってやってみてください。