Мы пытаемся опубликовать приложение ClickOnce, но мы вынуждены делать это с помощью MSBuild, поскольку мы страдаем от ошибки Visual Studio, когда Visual Studio тупо настаивает на повторном включении «Приложение должно проверять наличие обновлений», что нам не нужно.
Использование MSBuild от этого не страдает, но не выдает тот же вывод, что и в Visual Studio «Опубликовать ...» (несмотря на то, что MSDN говорит).Мы запутываем код в событии после сборки, и MSBuild, кажется, подписывает манифесты приложения в неправильной точке процесса.
Для записи мы используем следующую командную строку MSBuild:
msbuild /t:Publish
Использование MSBuild и включение обфускации дает вывод, но когда я пытаюсь установить приложение из сгенерированных манифестов, я получаю следующую ошибку ClickOnce:
* Activation of http://download.foo.com/Test/Foo.application resulted in exception. Following failure messages were detected:
+ File, Foo.exe, has a different computed hash than specified in manifest.
Отключение запутывания не приводит квыдает эту ошибку, но, очевидно, мы не собираемся публиковать необсуждаемый код.
Я пытался использовать MageUI для повторной подписи манифестов, но, похоже, это не исправить.
Мой вопрос: что Visual Studio делает по-другому?Использует ли он другую цель MSBuild?Если да, то какой?Как я могу исправить проблемы с сертификатом?