[C#] IIS Express 웹 응용 프로그램을 중지 한 후 실행중인 사이트를 즉시 종료

IDE에서 응용 프로그램을 중지하고 싶을 때 Visual Studio 2012를 사용하고 있는데 응용 프로그램은 여전히 ​​IIS Express에서 실행 중이며 실행중인 응용 프로그램을 탐색하고 사용할 수는 있지만 지금은 할 수 없습니다. IIS 중지 버튼을 누르면 응용 프로그램이 즉시 종료됩니다. 설정을 변경하지 않았 음을 기억합니다. 첫날과 같은 방식으로 어떻게해야합니까?



답변

최근에 디버깅을 중단 한 직후에 IIS Express가 갑자기 중지 된 비슷한 상황에 처했습니다. “Edit Enable and Continue”를 켠 후에 이런 일이 일어났습니다 . 따라서이 기능을 사용하지 않으면 디버깅이 중지 된 후에도 IIS Express가 계속 실행되고 있음을 알 수 있습니다.

프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭 한 다음 왼쪽에서 ‘웹’탭을 선택하고 Enable Edit and Continue확인란을 선택 취소하십시오 .


답변

VS2010 및 VS2012에서는 새 웹 응용 프로그램 프로젝트를 만들 때 기본적으로 편집 및 계속 옵션이 비활성화되어 있습니다. VS2013에서는 기본적으로 켜져 있습니다.

이 옵션은 웹 프로젝트의 속성 창의 웹 탭에서 찾을 수 있습니다.

옵션 vs2013 편집 및 계속

“편집 사용 및 계속 사용”을 설정하면 VS 디버거가 IIS Express에서 웹 응용 프로그램을 시작합니다. 디버깅을 중지하면 IIS Express도 닫힙니다. 이 동작을 수행하면 디버깅 중에 IIS Express 시스템 트레이가 표시되고 디버깅 후에 사라집니다. 이 동작은 편집 및 계속 사용 옵션이 설정된 경우 VS2012와 동일합니다.

개발 중에 “편집 및 계속”기능이 필요하지 않고 디버깅 세션 후에 IIS Express를 유지 하려면 편집 및 계속 활성화 옵션을 해제하면됩니다 .

나는 당신이 “편집 및 계속”사용하려는 또는 당신이 Asp.net 5 사이트를 개발하고있다 f를 (ASP.NET 5 프로젝트는 편집이없는 프로젝트 속성에서 체크 박스를 계속) 당신은 “DETECH 모든”명령을 사용해야합니다 디버깅을 중지합니다.

디버거는 iis 프로세스를 닫지 않고 분리합니다.

다시 디버깅을 시작할 때까지 “편집 및 계속”기능이 작동하지 않습니다.

여기에 이미지 설명을 입력하십시오


답변

(X) STOP버튼을 누르는 대신 Detach all디버그 메뉴에서 메뉴 항목을 사용할 수 있습니다 . 가장 큰 차이점은 중지 버튼이 현재 디버깅중인 프로세스를 종료하고 모두 분리는 디버거를 프로세스에서 분리하지만 종료하지는 않는다는 것입니다.

일반적인 IIS 작업자 프로세스는 종료 될 것입니다,하지만이 서비스로 실행하는 데 사용하기 때문에, 그것은 또한 자동으로 다시 시작됩니다 따라서 당신은을 통해 프로세스를 다시 시작하지 않고 계속 사용할 수 있습니다 |> Debug또는 |> Start without debugging.

참조 용 스크린 샷

툴바 디버깅에 '편집 및 계속'버튼 추가.


답변

Visual Studio 2015 업데이트 2가 출시 된 이후에 수용된 솔루션이 더 이상 작동하지 않는 것 같습니다.

지금까지 찾은 가장 쉬운 해결책 은 디버그 메뉴 에서 ” 디버깅없이 시작 “을 선택하여 프로젝트를 시작하는 것 입니다.


답변

이것은 아마도 다른 해결 방법으로 가장 잘 분류되지만 나에게 효과적입니다.

일반적으로 “브라우저에서보기”컨텍스트 메뉴 (또는 CTRL-Shift-W)를 사용하여 프로젝트를 처음 시작합니다.

그때부터 디버깅이 필요한 것은 대개 새로운 기존 iisexpress 프로세스에 연결합니다. 상황에 맞는 메뉴를 마우스로 클릭하면 시작이 아닌 것이지만 다음 키 입력으로 F5만큼 빠릅니다.

  • Shift-F6을 사용하여 현재 프로젝트를 빌드하거나 Ctrl-Shift-B를 사용하여 전체 솔루션을 빌드하십시오 (변경 한 경우에만 필요하지만 F5가 이미 수행했기 때문에 언급해야한다고 생각했습니다).
  • Ctrl-Alt-P는 프로세스에 첨부 대화 상자를 엽니 다

  • “iis”를 입력하면 iisexpress 프로세스로 이동합니다

  • Enter 키를 누르면 연결됩니다

실행중인 iisexpress가 둘 이상인 경우 마지막으로 시작한 것이 일반적으로 목록의 맨 위에 나타납니다. 또 다른 옵션은 Shift-Select를 선택하여 모든 항목에 연결하는 것입니다.

이것은 많은 이점 IMO가 있습니다. 우선, 프로세스를 종료하지 않습니다. 둘째, 디버깅을 중지해도 브라우저 창이 닫히지 않습니다. 개발자가 버그를 재현하기 위해 7 단계를 반복하면 디버거가 연결되면 기존 브라우저 창에서 F5를 눌러 다시 게시하기 만하면 문제가 발생합니다. 마지막으로, nunit에 연결할 때 이미이 작업을 수행해야하므로보다 일관된 경험을 얻을 수 있습니다.


답변