2008-08-21 11 views
13

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

Однако мы обнаружили, что точка боли с помощью ClickOnce находится в , создавая развертывания. У нас есть стандартные среды dev/test/production и они должны иметь возможность создавать развертывания для каждого из них, которые устанавливают и обновляются отдельно друг от друга. Кроме того, мы хотим контролировать, какие сборки будут развернуты. Просто потому, что сборка была скомпилирована, не означает, что мы хотим, чтобы она была развернута.

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

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

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

ответ

14

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

Здесь detailed post о том, как работает манифест ClickOnce с MsBuild.

+0

Привет, Дейл, ваша ссылка мертва, у вас есть заголовок, на котором был пост? – TombMedia 2015-10-15 22:40:06

5

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

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

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