5

我正在尝试为我的 C# 项目的每个构建配置设置不同的图标(使用 VS 2010 pro)。一个配置用于不同的客户,因此该配置应使用不同的图标。

我不确定为什么这在 csproj 文件中不起作用:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    ...blah...
    <ApplicationIcon>Images\RegularIcon.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release-Customer|AnyCPU' ">
    ...blah...
    <ApplicationIcon>Images\CustomerIcon.ico</ApplicationIcon>
</PropertyGroup>

它不起作用。不确定我是否走在正确的轨道上。

一件令人沮丧的事情......如果我在 Visual Studio 中使用“属性”->“应用程序”选项卡设置图标,它会在 csproj 文件中创建它:

<PropertyGroup>
    <ApplicationIcon>Images\foo.ico</ApplicationIcon>
</PropertyGroup>

为什么这个匿名 PropertyGroup 中指定的图标得到遵守,但我的条件 PropertyGroup 中的图标被忽略?

我很感激这方面的任何帮助。

4

2 回答 2

5

它可能确实有效。这只是你不能轻易看到的东西。Windows 资源管理器有一个非常尴尬的习惯,即在图标缓存中存储程序的图标。因此,如果您运行带有一个图标的 .exe,那么它会将图标存储在缓存中。以便以后再次需要时快速可用。优化,从 .exe 文件中挖掘图标很慢。

重置缓存是可能的,但很尴尬,最好在 superuser.com 上询问一个好的程序。或者只是用 Visual Studio 检查它。文件 + 打开 + 文件,选择 .exe,打开图标节点并双击条目。

于 2012-05-25T18:29:14.150 回答
0

你可能想试试这个:

对于 Windows 10:

ie4uinit.exe -显示

对于 Windows 8 及更早版本:

ie4uinit.exe -ClearIconCache

从下面拍摄。还有一些其他的提示

https://www.winhelponline.com/blog/refresh-icon-cache-windows-7-quickly/

于 2021-10-17T09:24:56.940 回答