Проверка приложения ClickOnce не удалась - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть приложение, которое мы разворачиваем с помощью ClickOnce. Это было сделано очень долго без проблем. Теперь я, кажется, получаю сообщение «Проверка приложения не удалась», а детали показывают, что «Манифест приложения имеет другой вычисленный хэш, чем указанный, или вообще не указан хэш».

Единственное, что я смог найти, это то, что это может быть связано с изменением подписи sha-1 по сравнению с sha-256, которое Microsoft сделала, о чем свидетельствует Здесь . Однако наше приложение не подписано, и из манифеста видно, что sha-256 использовался в предыдущих развертываниях, а также в текущем сломанном развертывании. Я уверен, что это не проблема.

Я уверен, что эта проблема связана с некоторыми недавними изменениями, которые я сделал. Наши проекты приложений ранее были настроены на использование функций C # 5. Мы явно установили версию 5, потому что у Решарпера были некоторые проблемы. Похоже, что теперь Resharper работает лучше, поэтому я изменил некоторые проекты на «C # последняя основная версия» и, скорее всего, изменю остальные проекты на этот позже.

После этого изменения я решил, что будет разумно протестировать публикацию приложения. Ранее наш сценарий публикации использовал C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ MSBuild.exe. Эта версия, похоже, не поддерживает C # 6. В результате оказалось, что мне нужно было использовать MSBuild, поставляемый с VS, поэтому сейчас я использую C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin \ MSBuild.exe.

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

Итак, я решил вернуть проекты обратно на уровень языка C #. Это не помогло. Единственное, что исправило это, было возвращение к предыдущей версии MSBuild, которую я использовал.

Можно ли перейти на другую версию MSBuild и сохранить все оригинальные хэши? Поскольку, похоже, что если хеши изменятся, всем моим пользователям придется удалить приложение и переустановить его, если только для этого нет никакого способа.

...