Как лучше всего создавать развертывания ClickOnce?

StackOverflow https://stackoverflow.com/questions/20728

  •  09-06-2019
  •  | 
  •  

Вопрос

Наша команда разрабатывает распределенные приложения Winform.Мы используем ClickOnce для развертывания и очень довольны этим.

Однако мы обнаружили, что проблема с ClickOnce заключается в создание развертывания.У нас есть стандартные среды разработки, тестирования и производства, и нам необходимо иметь возможность создавать развертывания для каждой из них, которые устанавливаются и обновляются отдельно друг от друга.Кроме того, нам нужен контроль над тем, какие сборки будут развернуты.Тот факт, что сборка была скомпилирована, не означает, что мы хотим ее развернуть.

Очевидным первым выбором для создания развертываний является Visual Studio.Однако VS на самом деле не решает заявленные проблемы.Следующий на очереди — инструмент SDK Mage.Mage работает нормально, но создание развертываний довольно утомительно, и мы не хотим, чтобы у каждого разработчика был наш сертификат и пароль для подписи кода.

В итоге мы развернули собственное приложение для развертывания, которое использует версию Mage для командной строки для создания файлов манифеста ClickOnce.

Я удовлетворен нашим текущим решением, но, похоже, к этой проблеме должен быть общеотраслевой подход.Есть?

Это было полезно?

Решение

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

Вот подробный пост о том, как создание манифеста ClickOnce работает с MsBuild.

Другие советы

Я использовал nAnt для запуска общей стратегии сборки, но передал параметры в MSBuild для компиляции и создания пакета развертывания.

По сути, nAnt вызывает MSBuild для каждой среды, в которой необходимо выполнить развертывание, и генерирует отдельные выходные данные развертывания для каждой.В итоге у вас есть папка и все файлы ClickOnce, необходимые для каждой среды, которые вы можете просто скопировать на сервер.

Точно так же мы обрабатывали несколько производственных сред — у нас были отдельные экземпляры нашего приложения для США, Канады и Европы, поэтому каждая сборка в конечном итоге создавала девять развертываний, по три для разработки, контроля качества и производства.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top