Visual Studio 2010 - Как опубликовать на локальном IIS во время сборки - PullRequest
6 голосов
/ 03 сентября 2010

Я работаю над веб-приложением ASP.Net MVC в VS 2010. Я хочу запустить веб-приложение в своем локальном IIS 7 в его собственной сети.У меня настроен файл hosts, так что * .dev указывает на мой локальный ip, поэтому, когда я создаю IIS-сеть, я могу просто дать ему уникальное имя хоста, например myapp.dev, и он запускается.

ЭтоМой первый проект веб-приложения с VS, и я пытаюсь выяснить, как заставить VS публиковать код веб-приложения в моей локальной сети, когда я нажимаю на build.У меня уже есть часть публикации, но я хочу ее автоматизировать.Кроме того, я могу добавить, что у меня есть пара разных слоев (библиотек классов), которые нужно также создавать и публиковать одновременно.

В итоге, я хочу, чтобы после внесения изменений в код я хотел щелкнуть решение перестроитьили пересоберите проект, и после успешной сборки я хочу, чтобы файлы, которые были изменены, были опубликованы в корневом веб-каталоге, который я настроил для этого конкретного веб-приложения в моем локальном IIS.Затем я могу просто обновить браузер, чтобы проверить мои изменения.

Есть ли какие-либо учебные пособия по этому типу настроек, на которые кто-то может отослать меня?

Ответы [ 4 ]

5 голосов
/ 03 сентября 2010

Вы пытаетесь использовать IIS вместо веб-сервера разработки ASP.NET во время разработки? Если это так, вы можете перейти в настройки вашего веб-проекта, а затем на вкладку веб-сайта, чтобы изменить веб-сервер разработки на IIS и указать URL-адрес. Таким образом, вам не нужно ничего публиковать, виртуальный каталог указывает на папку вашего проекта. Поэтому, когда вы компилируете и запускаете ваше веб-приложение, оно воспримет любые изменения. Если это не то, что вам нужно, вы можете использовать инструмент командной строки msdeploy на этапе после сборки, чтобы упаковать и развернуть / обновить веб-приложение на локальном IIS. Таким образом, каждый раз, когда вы собираете, msdeploy будет запускать и обновлять IIS с изменениями.

3 голосов
/ 03 сентября 2010

Это оказалось намного проще, чем я думал. В VS 2010 появилась новая функция под названием «Публикация в один клик», а также есть панель инструментов для этого. Я уже создал профиль публикации для своей локальной сети iis, поэтому все, что мне нужно сделать, - это нажать «Опубликовать»! Все проекты в решении затем создаются и публикуются. Пока все проекты определены как зависимые, они создаются и публикуются вместе с веб-проектом.

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

Я бы предположил, что, если бы я определил дополнительные задачи сборки в файле csproj, все это также выполнялось бы.

2 голосов
/ 03 сентября 2010

Хотя я использую 2008, я обнаружил, что гораздо проще использовать NAnt для создания и публикации.Это обеспечивает большую гибкость и позволяет использовать его для публикации как на локальном, так и на производственном сайте.

0 голосов
/ 07 февраля 2012

Будучи новичком в ASP.NET, я предлагаю вам посмотреть на Url.Content для публикации ссылок (если вы используете MVC) или System.Web.VirtualPathUtility.ToAbsolute("~/...") (если нет) и разумно использовать тильду, чтобы избежать работы спобочные эффекты публикации сайта с разными корнями.Изучение этого откроет возможность использовать некоторые из приведенных выше предложений (указав IIS на каталог вашего проекта для одного).

Другой вариант - открыть файл проекта и работать с целью сборки AfterBuild.Раскомментирование и добавление задачи aspnetcompiler вместе с задачей публикации также приведет к тому же результату, и если вы делаете публикацию одним щелчком, вы также можете разделить задачи сборки на основе $ (Configuration), указав условие.1009 * Я также предлагаю вам прочитать о том, как настраивать сборки для веб-проектов.Уже написано множество статей, которые помогут вам в этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...