在Windows文件资源管理器中浏览时,WPF exe文件:图标丢失,但在运行时显示

时间:2012-01-12 01:57:11

标签: wpf icons windows-explorer

我有一个WPF解决方案,编译为2个.exe文件,A.exe和B.exe A.exe,一切都很好。
B.exe,在运行时,左上角正确显示图标,但在文件资源管理器中查看或在“开始 - >程序文件 - > B”菜单中显示时,图标为空。

我有点迷失如何调试此问题:

  • 显然资源就在那里,因为图标出现在窗口中的运行时间;
  • 我找不到一种方法来调试“文件资源管理器检测.exe文件中的图标”的过程,没有日志,没有断点;
  • 一些奇怪的事情:之前的情况是颠倒的,B.exe很好,而A.exe有问题;然后我的家伙继续编码,有一天它又恢复了......

我使用CodeReflect来查看A.exe和B.exe中的内容,它显示

A
- A.exe // codes inside
- Resources
  - A.g.resources
    - appicon.ico
    - app.baml
  - A.Properties.Resources.resources


B
- B.exe // codes inside
- Resources
  - EnhauncedByPostSharp // nothing is listed
  - PostSharp.Aspects.814640628.1 // binary things listed
  - B.g.resources
    - appicon2.ico
    - app.baml
    - resource/iconresource.xaml
    - resource/datatemplates/views/ControlElementsDataTemplates.baml
    - Views/B.baml
    - ... and other baml files
  - B.Properties.Resources.resources

我不确定PostSharp是如何跳到原地的。是的我们使用PostSharp,但它对我来说是一个黑盒子......

感谢你们,如果你们能在这里阐明一些......谢谢!

1 个答案:

答案 0 :(得分:6)

您需要在“项目属性”中设置图标。默认情况下,EXE图标不使用主窗口的图标。

右键单击visual studio中的EXE项目,转到属性,并(假设您使用的是Visual Studio 2010),在“应用程序”选项卡中有一个标题为“图标”的下拉列表。你需要在那里设置你的图标。