Exe-файл WPF: значок отсутствует при просмотре в проводнике Windows, хотя отображается во время выполнения - PullRequest
1 голос
/ 12 января 2012

У меня есть решение 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 Ответ

6 голосов
/ 12 января 2012

Вам необходимо установить значок в свойствах проекта. Значок EXE по умолчанию не использует значок главного окна.

Щелкните правой кнопкой мыши по проекту EXE в Visual Studio, перейдите в Свойства и (если предполагается, что вы используете Visual Studio 2010), на вкладке Приложения под названием «Значок» появится раскрывающийся список. Вы должны установить свою иконку там.

...