少于 1 分钟阅读 次阅读

参考链接

1 问题描述

在Visual Studio 2022中使用C#项目。我在主分支的基础上创建了一个新分支,替换了应用程序的图标文件。现在,当我切换回主分支并重新编译时,生成的可执行文件的图标却显示为新分支的图标。然而,通过git检查确认,主分支的代码库中并未引入新分支的图标文件。

branch A: old.ico
branch B: new.ico

切换到 B → 编译 → Windows 缓存 new.ico
切回 A → 编译 → exe 正常变回 old.ico
但 Explorer 仍显示 new.ico

2 问题原因

Explorer 缓存命中,Windows 会把 exe 图标缓存到本地数据库里,而不是每次都从 exe 读取。

2.1 验证方式

右键 exe → 属性 → 更改图标

如果这里显示的是旧图标: ✔ 编译正常 ❌ 只是 Explorer 显示错了

3 解决方法

3.1 方式一

打开任务管理器,重新启动 Explorer。

3.2 方式二

命令行运行 ie4uinit.exe -show

(此方式未验证过)

留下评论