ビルドは通るのに赤波線・エラーが消えない時の対処【現場の備忘録】

プログラム

ビルドは通る(実行もできる)のに、エディタ上は赤波線だらけ、エラー一覧にも赤エラーが残ったまま。これはコードの間違いではなく、IntelliSenseのキャッシュがおかしくなっていることがほとんど。

実害はないけど気持ち悪いし、本物のエラーが埋もれて見づらい。定番の対処を上から順に試すためにまとめておく。

まず確認:エラー一覧の表示切り替え

エラー一覧の上部で表示が「ビルド + IntelliSense」になっていると、IntelliSense由来の(実際には問題ない)エラーも出る。試しに「ビルドのみ」に切り替えて赤が消えるなら、十中八九キャッシュ起因。

定番1:.vs フォルダを削除する

いちばん効く。ソリューションを一度閉じてから、ソリューションと同じ場所にある隠しフォルダ「.vs」を削除して、開き直す。IntelliSenseのキャッシュ(データベース)がここに溜まっているので、作り直させると直ることが多い。

「.vs」は隠しフォルダなので、エクスプローラーで「隠しファイル」を表示にして探す。VSを閉じてから消すのがポイント(開いたままだと使用中で消せない)。

定番2:NuGetパッケージの復元

パッケージ絡みで参照が壊れている場合は、ソリューションを右クリック →「NuGetパッケージの復元」。それでもダメなら該当パッケージを一度アンインストール→再インストール。

# パッケージマネージャーコンソールから入れ直す場合
Update-Package -reinstall

-reinstallは全パッケージを入れ直すので、時間がかかる・依存が動くことがある点は理解の上で)

定番3:bin / obj を消してリビルド

古いビルド成果物が悪さをしている場合。ソリューションを閉じて各プロジェクトのbin・objフォルダを削除し、開き直して「リビルド」。クリーンより確実。

定番4:VS本体のキャッシュ削除・再起動・修復

それでも消えないなら、Visual Studioの再起動、Windowsの再起動。さらにダメならComponentModelCacheフォルダの削除や、Visual Studio Installerの「修復」まで。ここまでやればまず直る。

さいごに

順番としては「表示切り替えで切り分け → .vs削除 → NuGet復元 → bin/obj削除 → 再起動/修復」。8割は.vsフォルダ削除で解決する。

「ビルドは通るのにエディタだけ赤い」ときは、まずコードを疑う前にキャッシュを疑うと早い。

コメント

タイトルとURLをコピーしました