ClickOnce установка старых сборок из кеша - PullRequest
1 голос
/ 25 мая 2009

Я использую ClickOnce для установки моего приложения, написанного на C #. Все работало нормально до последнего обновления, после которого запуск моего приложения заканчивался ошибкой:

Не удалось загрузить файл или сборку MyAssembly ... HRESULT: 0x80131040.

После некоторых исследований я обнаружил, что в папке кэша ClickOnce моего приложения находится старая версия MyAssembly (C: \ Documents and Settings .. \ Apps \ 2.0 ...). Однако в пакете развертывания есть актуальная версия.

Я также нашел эту старую версию MyAssembly в отдельном каталоге в кэше ClickOnce, названном в честь этой сборки (плюс некоторые добавленные символы).

Мне кажется, что по какой-то причине ClickOnce использовал эту старую версию MyAssembly из кэша вместо новой версии из пакета развертывания.

Удаление / установка моего приложения не поможет.

Как это возможно?

Ответы [ 2 ]

2 голосов
/ 27 августа 2009

У меня было такое же поведение. Это упомянуло проблему в другом вопросе. С тех пор это произошло несколько раз для нас с различными приложениями. Одна странность в том, что на разных компьютерах он ведет себя по-разному. Таким образом, один компьютер мог быть обновлен с новой сборкой, в то время как другой скопировал старый.

.NET развертывание ClickOnce и неправильные сборки, вызванные после обновленной версии

Это похоже на ошибку в .NET Framework 3.5 SP1.

См. Microsoft KB 971052.

0 голосов
/ 30 июня 2009

Убедитесь, что эта старая сборка загружена. Для этого вы можете использовать DllProfiler.

...