Выходные данные сборки веб-приложения ASP.NET - как включить все файлы развертывания? - PullRequest
2 голосов
/ 11 сентября 2008

Когда я создаю свое ASP.NET веб-приложение, я получаю файл .dll с кодом для веб-сайта в нем (что здорово), но веб-сайту также нужны все файлы .aspx и друзья и они должны быть помещены в правильную структуру каталогов. Как я могу получить все это в одном каталоге в результате каждой сборки? Попытка выбрать правильные файлы из исходного каталога - это боль.

Конечный результат должен быть развернут xcopy.

Обновление: Я не хочу вручную использовать команду «Опубликовать», о которой я знаю. Я хочу, чтобы полный набор файлов, требуемых приложением, был выводом сборки - это означает, что я также получаю полный набор файлов в одном месте при запуске MSBuild .

Ответы [ 9 ]

5 голосов
/ 11 сентября 2008

Одним из решений, по-видимому, являются проекты веб-развертывания (WDP), доступное дополнение для Visual Studio (и msbuild), которое создает веб-проект в каталог и может по желанию объединять сборки и изменять файл web.config. Результатом построения WDP являются все файлы, необходимые для развертывания сайта в одном каталоге.

Дополнительная информация о проектах веб-развертывания:

  1. Объявление на webdevtools блог MSDN для WDP 2008
  2. Введение ScottGu в WDP 2005

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

2 голосов
/ 11 сентября 2008

ASP.NET не имеет реального xcopy развертывания для новых сайтов. Это зависит от наличия виртуального каталога / приложения в IIS. Однако после создания этого виртуального каталога вы можете использовать xcopy для обновлений.

1 голос
/ 19 августа 2009

Цель _CopyWebApplication в MSBuild будет делать именно то, что вам нужно. Подвох в том, что в папку bin будет скопирована только основная сборка, поэтому для копирования любого другого файла в папке bin требуется задача копирования.

Я пытался опубликовать пример сценария как часть этого сообщения, но не смог.

Пожалуйста, ознакомьтесь с этой статьей в моем блоге, в которой описано, как создать скрипт MSBuild, подобный тому, который вам нужен.

1 голос
/ 17 сентября 2008

Вы пытались использовать aspnet_compiler.exe в каталоге .net framework? Я уверен, что вы можете создать «готовую к развертыванию» версию веб-приложения или веб-сайта.

1 голос
/ 11 сентября 2008

Вы можете Опубликовать веб-сайт .. Если вы хотите автоматизировать развертывание, вам необходимо использовать script .

0 голосов
/ 16 августа 2013

Это зависит от того, насколько сложное решение вам нужно, например, вы можете просто использовать скрипт и jenkins. Вы можете использовать MSBUild с Jenkins для простого развертывания на IIS. И если у вас есть Jenkins, другие инструменты довольно легко подключить позже. Но если вы просто хотите собрать, используйте скрипт, который jenins выполняет каждую сборку, использующую MSDeploy, и он будет отлично работать.

Вот как я это делаю, просто чтобы дать вам ощущение:

Sonarqube использует Gallio, Gendarme, FXcop, Stylecop, NDepths и PartCover, чтобы получить ваши метрики, и все это довольно просто, поскольку SonarQube делает это автоматически без особых настроек.

Вот Дженкинс, который собирает и получает метрики Сонара, и еще одно задание для автоматического развертывания в IIS. Я использую простой скрипт в одну строку, который вызывает мой MSBuild и URL, пароль и пользователя.

И Sonarqube, все показатели для моего проекта. Это простое приложение MVC4, но оно прекрасно работает!:

Если вам нужна дополнительная информация, могу ли я предоставить вам хорошее руководство.

Вся эта установка использует MSBuild, а также создает и развертывает приложения.

0 голосов
/ 11 сентября 2008

Для автоматизированного построения, которое вы описываете в обновлении, я бы рекомендовал вам изучить MSBuild и CruiseControl.NET

0 голосов
/ 11 сентября 2008

Сборка -> Опубликовать

Появится диалоговое окно, которое проведет вас через процесс.

0 голосов
/ 11 сентября 2008

Вы пытались щелкнуть правой кнопкой мыши веб-сайт в обозревателе решений и выбрать "Опубликовать веб-сайт"?

...