如何识别 C# 应用程序中使用的图标文件的名称?
Posted
技术标签:
【中文标题】如何识别 C# 应用程序中使用的图标文件的名称?【英文标题】:How to identify the name of the icon file used in a C# app? 【发布时间】:2022-01-15 12:42:29 【问题描述】:我找到了很多答案,但似乎没有一个可以解决这个问题。
我有一个 C# WPF 应用程序。它有 2 个图标文件作为资源 - 1 个用于创建发布版本,另一个用于测试版本。它目前使用的是 4.7.2 - 但计划很快将其迁移到 CORE。
当我生成构建时,我通过“属性-应用程序”页面设置图标文件。
由于在构建时我找不到有条件地可靠设置桌面图标文件的方法,我想我只需在运行时检查图标文件,看看它是否适合构建类型。我不想使用错误的图标文件。
我为什么要关心?有许多用户可能同时在他们的桌面上拥有测试版和实时版。我想确保不会将测试版本与实时版本混淆。
可能看起来不多,但通常情况下,支持远程的人,他们中的大多数人不知道测试版本 - 因此需要避免任何混淆。
如果您有比在构建时设置图标更好的方法来设置桌面,那也将不胜感激。
我可以使用 ExtractAssociatedIcon() 获取图标 - 但这并不表示图标文件的名称。
谢谢!
【问题讨论】:
【参考方案1】:您可以在构建时执行以下操作来设置图标。
这里有一些步骤:
-
创建您的项目并添加您的
.ico
文件。
-
右键单击项目并选择
Unload Project
。
-
右键单击卸载的项目并选择
Edit Project File
。
-
在项目文件的内部会有
<PropertyGroup>
xml 标签用于您的各种构建。
为每个构建配置设置<ApplicationIcon>
xml 元素。
现在,当您在 Debug
或 Release
中运行构建时,使用的 .ico
文件将发生变化。
【讨论】:
很好的答案——除了你少了一步。 ApplicationIcon 有一个条目,它不是配置的一部分。在它查看配置中的值之前,我必须将其注释掉。之后,效果很好。以上是关于如何识别 C# 应用程序中使用的图标文件的名称?的主要内容,如果未能解决你的问题,请参考以下文章