Запретить iisexpress запускать веб-сайты в решении, когда приложение запуска является консольным приложением

#c# #visual-studio #visual-studio-2013 #iis-express #solution

#c# #visual-studio #visual-studio-2013 #iis-express #решение

Вопрос:

У меня есть решение с несколькими проектами в нем. Даже если я установил параметры запуска веб-проекта на:

  1. Не открывайте страницу. Дождитесь запроса от внешнего приложения.
  2. Используйте пользовательский веб-сервер. Базовый URL: http://localhost .

И проект запуска для:

  1. Один запускаемый проект
  2. Выберите консольное приложение (не веб-сайт)

Когда я нажимаю начать отладку, запускается IIS express (отображается на панели задач). Как мне предотвратить запуск IIS Express? Я запускаю только консольное приложение и не хочу запускать IIS Express.

Фактически, все веб-сайты в решении запускаются в IIS, и они потребляют ресурсы на моем компьютере без необходимости.

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

1. Итак, вы хотите сказать, что вы хотите, чтобы ваши веб-сайты запускались в IIS, а не в IIS Express при отладке?

Ответ №1:

Это можно сделать простым способом: в свойствах веб-проекта F4 (НЕ щелкните правой кнопкой мыши -> свойства) установите для параметра «всегда запускать при отладке» значение false

введите описание изображения здесь

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

1. это реальный ответ. Спасибо

2. @Hoppe, как человек, которому приписывают первоначальный ответ, я согласен, это лучший ответ.

3. В VS 2017 я нашел это в разделе Просмотр => Другие окна => Окно свойств

Ответ №2:

В свойствах Страницы-> Параметры запуска: Установите Start Action = «Не открывать страницу …»; Установите Server -> Использовать пользовательский сервер и оставьте базовый URL пустым.

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

1. Может ли кто-нибудь указать контекст для этого очень загадочного «ответа»?

Ответ №3:

Для Visual Studio 2013 я настроил его следующим образом:

Начать действие: не открывать страницу.

Серверы: внешний хост

URL-адрес проекта: http://NotAStartupApp /

Ответ №4:

Я удалил IIS Express в Windows, и это сработало для меня. После публикации моих файлов из VS мои настройки автоматически изменились, чтобы указывать на IIS Express, и он не изменится на IIS, несмотря ни на что, для моего проекта веб-сайта. Надеюсь, это сработает для кого-то.

Ответ №5:

Чтобы расширить ответ @Aleksey L., вы действительно можете сделать это с помощью обычного текстового редактора, такого как Блокнот.

В вашем projectname.csproj.user файле убедитесь, что для вашего AlwaysStartWebServerOnDebug узла установлено значение False .

имяпроекта.csproj.user

 <Project >  
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties>
        <WebProjectProperties>
            ..          
          <AlwaysStartWebServerOnDebug>False</AlwaysStartWebServerOnDebug>
            ..          
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>
 

В качестве альтернативы, чтобы сделать это без текстового редактора, вы можете использовать Powershell

 $file = 'projectname.csproj.user'
$x = [xml] (Get-Content $file)
$x.Project.ProjectExtensions.VisualStudio.FlavorProperties.WebProjectProperties.AlwaysStartWebServerOnDebug = 'False'
$x.Save($file)