Как я могу позволить Visual Studio 2012 определить, нужно ли переназначать виртуальные каталоги?

Моя ситуация:
я работаю над проектом ASP.NET MVC и выполняю отладку в IIS-Express. Иногда, когда мы создаем временную ветку, эта ветка будет использовать тот же порт для отладки. Это означает, что виртуальный каталог в IIS один и тот же, и я не могу запустить их оба одновременно.

Как это работало в vs2010:
На самом деле это не проблема, потому что я не хочу запускать их одновременно. Однако в VS2010 я получал предупреждение при первом открытии ветки. Он спросил меня, хочу ли я переназначить URL-адрес. Когда я позже вернулся, чтобы открыть багажник, я получил такое же предупреждение (см. ). Сообщение в vs2010

Как это не работает в vs2012:
Теперь в VS2012 я больше не получаю предупреждение. Если я забуду вручную зайти в настройки и нажать «Создать виртуальный каталог» (такое случалось несколько раз), то когда я нажму «Выполнить» в ветке, он фактически запустит транк. Это может быть очень запутанным. Особенно, если я пытаюсь отлаживать или система ломается из-за исключения. Исходный файл из магистрали будет открыт в решении филиала. Затем я думаю, что редактирую ветку, но на самом деле я редактирую ствол... Кнопка в VS2012, которая  Мне нужно нажать

Есть ли способ позволить VS2012 выполнять ту же проверку, что и VS2010?

Или я делаю/понимаю что-то еще совершенно неправильно?


person Matthijs Wessels    schedule 05.02.2013    source источник
comment
Вы когда-нибудь находили решение этой проблемы?   -  person RMK    schedule 23.08.2013
comment
Любопытно - есть ли разница в поведении, если запускать VS от имени администратора?   -  person M Smearer    schedule 12.12.2013
comment
@RMK, еще нет. Мы переехали в Azure, поэтому я запускаю эмулятор, где у меня, похоже, нет этой проблемы. Однако я обнаружил, что это работает немного иначе, чем я думал изначально. На самом деле, когда вы открываете решение, оно отображает все (как если бы вы нажимали «да» на все подсказки). Таким образом, последнее решение, которое вы откроете, будет фактическим, а не первым, где вы все сопоставили.   -  person Matthijs Wessels    schedule 18.12.2013
comment
@MSmearer Я всегда работаю от имени администратора. Я не знаю, как это работает в vs2013.   -  person Matthijs Wessels    schedule 18.12.2013


Ответы (1)


VS фактически редактирует файл конфигурации IIS Express, найденный по одному из этих путей.

%userprofile%\documents\iisexpress\config\applicationhost.config
%userprofile%\my documents\iisexpress\config\applicationhost.config

Когда я оставляю это на усмотрение VS, я склонен видеть дублированные и конфликтующие конфигурации.

Для локальной разработки я предпочитаю запускать IIS Express из сценария cmd или powershell, так как он не требует подключения (но может быть подключен) и дает мне контроль над конфигурацией. Делаю копию конфига iis и указываю файл конфига в экспресс-команде iis. У меня есть сценарий powershell, который устанавливает путь на основе исполняемого каталога, поэтому независимо от того, какая ветка, он всегда устанавливается на тот, в котором я работаю.

Вот некоторая информация о запуске 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

person crad    schedule 24.12.2013