我正在尝试为我的C#项目的每个构建配置设置不同的图标(使用VS 2010 pro)。 一个配置适用于不同的客户,因此该配置应使用不同的图标。
我不确定为什么这在 csproj 文件中不起作用:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
...blah...
<ApplicationIcon>ImagesRegularIcon.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release-Customer|AnyCPU' ">
...blah...
<ApplicationIcon>ImagesCustomerIcon.ico</ApplicationIcon>
</PropertyGroup>
它不起作用。 不太确定我是否走在正确的轨道上。
一件令人沮丧的事情...如果我在 Visual Studio 中的"属性->应用程序"选项卡中设置图标,它会在 csproj 文件中创建以下内容:
<PropertyGroup>
<ApplicationIcon>Imagesfoo.ico</ApplicationIcon>
</PropertyGroup>
为什么此匿名属性组中指定的图标被遵守,而我的条件属性组中的图标被忽略?
我感谢对此的任何帮助。
它可能确实有效。 这只是你不容易看到的东西。 Windows资源管理器有一个非常尴尬的习惯,即将程序的图标存储在图标缓存中。 因此,如果您运行带有一个图标的.exe,那么它会将该图标存储在缓存中。 以后再次需要时可以快速可用。 优化,从.exe文件中挖掘图标很慢。
重置缓存是可能的,但很尴尬,最好在 superuser.com 询问一个好的程序。 或者只是用Visual Studio检查一下。 文件 + 打开 + 文件,选择.exe,打开"图标"节点并双击该条目。
你可能想试试这个:
对于 Windows 10:
IE4uinit.exe -show
对于 Windows 8 及更早版本:
ie4uinit.exe -ClearIconCache
取自下方。还有其他一些提示
https://www.winhelponline.com/blog/refresh-icon-cache-windows-7-quickly/