自分のブログ名

sheephumanのブログ

ひつじ好きな人間のブログ。

Visual Studio上で設定したアイコンが反映されない場合の対応方法

 

 以下はVisual Studio2022、Windows11で行いますが、それ以前のVersionでも同じだと思います。要するに長年放置されている要素だと思われます。

 

まず、Visual Studio上で適当なアイコンを設定します。

 

今回はBrave BraswerのIconを指定してみます。

こんなのね。

 

初回のコンパイルではこのように正常に反映されます。

 

 

 ここでもっとカワイイイラストに変更したくなったとしましょう。

 

 これはTwitterの絵師の方に描いてもらったリリース予定のアプリのアイコンです。

 

適用しコンパイルしてみませう。

 

 

exe側はアイコンが変わっていません。

 

 

 

 これは一度設定してしまうと再起動しようと何をしようと、今後このプロジェクトファイルで実行ファイル側のアイコンの見た目を変えられない事を意味します。単に見かけ上だけなのかどうかまでは検証してませんが.... たとえば別のPC上では正常に表示されるという事は考えられます。

 

 とりあえずこのPC上では、プロジェクトファイルをリビルドしたりごにょごにょしたりした程度では解決しません(単に知らないだけかもしれないけど)

 

 そこでWindows内にあるIcon Cache(アイコンキャッシュ)をクリアします。やり方は簡単ですが、ここではEvertThing(https://www.voidtools.com/)を使って例示します。

 

 

アイコンキャッシュをクリアしてExplorerにアイコン表示を反映させる

 

 参考にしたのは以下の訳分からんリンクです。101Helpとかいう謎サイトですね。一応、https://securl.nu/に掛けました。Greenでした。

 

ja.101-help.com

この古いブログ記事でもOKだと思います(かなり多分)

blog.syo-ko.com

 

EveryThingで、iconcache_32.dbを検索し、フォルダを開きます。

 

 

C:\Users\USER\AppData\Local\Microsoft\Windows\Explorer が開きました。

 

Terninal(PowerShell)で以下のコマンドを順に入力します。

del iconcache*   // 全ての”iconcache”を含むファイルを削除

del thumbcache_*.db // 全ての”thumbcache”を含むdbファイルを削除

 

explorer.exeを終了→再起動

 

Evrythingで確認した残りファイル。

 

 

フォルダを開き直すと削除したファイルは即座に再生成されますが、この時点では実行ファイルまで反映されていません。

 

 タスクマネージャーでexplorer.exeを強制的に終了させます。片方がファイラー側、もう片方がタスクバー。

 

タスクバーと壁紙その他が消えます(各種アプリは起動したまま)。

 

explorer.exeを再実行します。

 

 

該当のフォルダを確認すると、今度はちゃんと反映されています。一連の操作に再起動は必要ありませんでした。

 

 

 

とりあえず手順の再現に成功出来ました。分かったのは大分前だったんで忘れていた。

削除しちゃいけないファイルとかあると思いますので、以上のようにコマンドで削除する事をお勧めします。