2010-11-03 3 views
1

По какой-то причине очень старая версия моего значка продолжает отображаться, когда мое приложение удаляется на рабочем столе. В проводнике Windows (на всех уровнях масштабирования) значки соответствуют значку сборки. Я указал правильный элемент как в XAML Window.Icon, так и в настройках проекта. Я удалил старую версию своего значка из всех папок, о которых я могу думать, но он все еще появляется. Также при перетаскивании отображается неправильный значок. (в слегка прозрачном окне предварительного просмотра)Почему значок рабочего стола отличается от значка проводника?

Я пробовал очистить и перестроить, я попытался удалить папку obj вручную ... Исходный, неправильный значок был 16x16. Я построил новую версию как 32x32, потому что на рабочем столе 16x16 слишком мало. Согласно документам msdn (http://msdn.microsoft.com/en-us/library/system.windows.window.icon.aspx), каждый файл .ico должен включать все меньшие размеры в любом случае. Я также проверил, что я изменил значок как для отладки, так и для выпуска конфигурации.

Спасибо за любые идеи! :)

+0

Вы пытались установить его на другой машине или на виртуальной машине? – wheaties

+0

Вы проверили, что все размеры внутри файла .ico - это одно и то же изображение? Файл .ico содержит несколько размеров, но каждый из них независим, что означает, что 16x16 может выглядеть совершенно иначе, чем 32x32. –

+0

@wheaties: Спасибо за идею. Я просто попробовал это на довольно новом ноутбуке, и значок появился правильно. Думаю, я попытаюсь перезагрузить свой компьютер, как глупо, как это звучит. @JoeL: как я могу это проверить? Я создал .ico в Photoshop с плагином. Я не вижу никаких других изображений ни с VS, ни с PS. – Blub

ответ

6

Это может быть проблема с IconCache? Попробуйте удалить %localappdata%\IconCache.db и перезагрузите Explorer.exe.

+0

Спасибо, что сделал трюк! Это кажется странной проблемой. У вас есть дополнительная информация о кеше значков? Я не нашел ничего определенного в msdn. Например: как он создается, и когда он обычно обновляется. – Blub

+0

Все, что я знаю, это то, что на каждой машине Windows, которую я когда-либо имел, она повреждена, поэтому это процедура, с которой я очень хорошо знаком. У IIRC TweakUI была возможность сделать это от имени пользователя, так что это проблема, о которой знает MS. Я удивлен, что это продолжается. – spender

+0

Я добавил еще один значок, чтобы проверить, и на этот раз не было файла iconcache.db для удаления. Но перезапуск проводника помог в любом случае. Так что, возможно, даже проблема с кешем. – Blub

0

Проверьте окно свойств Visual Studio для проекта EXE - вы можете указать значок, который был записан в EXE во время компиляции. Это отдельно от значка, назначенного окну XAML во время выполнения.

+0

1. Я сделал это уже, если вы имеете в виду параметр «Значок и манифест», указанный на вкладке «Приложение». 2. В окне плавающих свойств доступны только два варианта: «файл проекта» и «папка проекта». Нет значка. Я использую VS2010. 3. Я изменил «действие сборки» в свойстве Icon для компиляции, но это не исправить. – Blub