Как я могу позволить Visual Studio 2012 определить, нужно ли переназначать виртуальные каталоги?
Моя ситуация:
Я работаю над проектом ASP.NET MVC и отлаживаю в IIS-Express. Иногда, когда мы создаем временную ветвь, эта ветка будет использовать один и тот же порт для отладки. Это означает, что виртуальный каталог в IIS является одним и тем же, и я не могу запускать их одновременно.
Как он работал в vs2010:
Это не проблема, потому что я не хочу запускать их одновременно. Однако в VS2010 я впервые получил предупреждение при открытии ветки. Он спросил меня, хочу ли я перенаправить URL-адрес. Когда я позже вернусь, чтобы открыть багажник, я получаю такое же предупреждение (см. qaru.site/info/350215/...).
![The message in vs2010]()
Как это работает в vs2012:
Теперь в VS2012 я больше не получаю предупреждение. Если я забуду вручную перейти к настройкам и нажать "Создать виртуальный каталог" (это произошло несколько раз), тогда, когда я нажимаю кнопку "Пробег" в ветке, он фактически запускает соединительную линию. Это может быть очень запутанным. Особенно, если я пытаюсь отлаживать или система прерывает исключение. Исходный файл из соединительной линии будет открыт в решении ветки. Я тогда думаю, что я редактирую ветку, но я фактически редактирую сундук...
![The button in VS2012 that I need to press]()
В любом случае, чтобы VS2012 выполнял ту же проверку, что и VS2010?
Или я делаю/понимаю что-то еще совершенно неправильно?
Ответы
Ответ 1
VS фактически редактирует конфигурационный файл IIS Express, найденный на одном из этих путей
%userprofile%\documents\iisexpress\config\applicationhost.config
%userprofile%\my documents\iisexpress\config\applicationhost.config
Когда вы оставляете это до VS, я склонен видеть дублированные и конфликтующие конфигурации.
Для локальной разработки я предпочитаю запускать IIS Express из cmd или powershell script, поскольку он не требует присоединения (но может быть присоединен) и дает мне контроль над конфигурацией. Я делаю копию конфигурации iis и указываю конфигурационный файл в команде iis express. У меня есть powershell script, который устанавливает путь на основе исполняемого каталога, независимо от того, в какой ветки он всегда установлен в ту, в которой я работаю.
Ниже приведена информация о запуске iis express из командной строки:
http://www.iis.net/learn/extensions/using-iis-express/running-iis-express-from-the-command-line
И вот хороший ресурс для запуска iis express из powershell:
https://blog.differentpla.net/post/UaYcAPDfiVJBAAAC/running-iis-express