Публикация ClickOnce после каждой сборки

#msbuild #visual-studio-2013 #command #clickonce

#msbuild #visual-studio-2013 #команда #clickonce

Вопрос:

Это первый раз, когда я хочу развернуть приложение.

У меня есть решение Visual Studio 2013 с двумя основными проектами: ASP.NET Веб-сайт MVC и приложение WPF.

В конце я хотел бы поместить все мое решение в zip-файл развертывания, который я могу импортировать в IIS, и загрузить мое приложение WPF, перейдя к моему publish.htm страница (опубликована с помощью ClickOnce)… Как я могу это сделать?

Что я пытаюсь сделать сейчас :

Я хотел бы опубликовать приложение WPF с помощью ClickOnce в папке моего веб-сайта, а затем создать zip-файл пакета развертывания для моего веб-сайта. Все, используя MSBuild в командной строке…

Мне удалось создать zip-файл для моего веб-сайта (в TeamCity), но я борюсь с частью ClickOnce…

Вопросы :

1) Это способ сделать то, что мне нужно?

2) Что мне нужно указать в «Расположение папки публикации» и «URL папки установки» на вкладке Публикации моего проекта, чтобы опубликовать в папке моего веб-сайта в моем решении?

3) Как я могу автоматически публиковать свое приложение после каждой сборки? (использовать MSBuild в событии после сборки?)

Ответ №1:

1) да

2) с момента вашего использования msbuild.exe в командной строке вы будете использовать указанные там параметры. URL-адрес установки: /p:InstallURL=url/yourapp.application outputpath: outputpath=каталог, в который вы хотите опубликовать

3) Я использовал файлы .cmd, которые вызываются в событии после сборки. Таким образом, если у вас есть другие задачи, которые вы хотите выполнить в сборке, вы можете. Например, перемещение файлов сборки в ZIP-файл.

Комментарии:

1. Спасибо за ответ. Я использую TeamCity для непрерывной интеграции, и мне, наконец, удалось добавить MSBuild «шаги сборки», чтобы сначала развернуть приложение в папке, а затем создать zip. Я до сих пор не знаю, как добавить мою папку «ClickOnce installer» в Zip-файл веб-развертывания. Но я поищу его и при необходимости задам еще один вопрос…