지금껏 C/S 만 위주로 개발을 하다 오랜만에 Web 관련 프로젝트를 하고있다..
물론 Silverlight 라서 크게 문제되지는 않지만 8, 9 년 전에 PHP 하던게 Web 관련 일은 전부인지라…
이것 저것 걸리는게 많다…
그 와중에 간간히.. 때때로 매번…. Silverlight 쪽 소스 변경한 것을 확인할려고 솔루션 탐색기의 Web Project 를
디버그 모드로 실행하면(“마우스 우클릭=>디버그=>새 인스턴스 시작”) 위와 같은 에러가 난다… 팝업창을 닫으면
디버깅이 종료되서 팝업창을 닫지 않고 그냥 진행해 보면 마지막 소스가 반영되지 않아서 인지 브레이크 포인트에 걸리지도 않는다..
난 분명히 소스를 수정하고 디버깅 했는데… 안된다… WPF 와 Link 를 해서 사용하고 있어서 WPF 에서 확인해보면 또 수정된 부분이 잘 반영되어 있따..
우짜지….
…..
…
.
트레이 아이콘에 asp.net development server 아이콘이 실행중이고 그래서 소스 변경하고 디버깅을 하면 알아서 잘 실행되던게
자꾸 포트 바인딩 에러가 난다…
처음엔 어라… 어디에서 저 포트를 쓰고있찌??? 라면서 삽질 좀 했다
구글링해도 마땅한 해결책을 찾지 못하고…
Visual Studio 에서 이거저것 확인하던 중에 해당 Web Project 의 속성에 보니
한글판 기준으로 [개발서버] 라는 카테고리에 [디버깅 시 항상 시작] 이라는 속성이 있다… True 로 되어있다…
어라.. 걍 트레이에 항상 떠 있었는데… 매번 새로 실행을 시키나?… 해서 False 로 바꾸고 해보니 포트 바인딩 에러가 나지 않는다.
머 전문적으로 어떻게 설명을 해야할지는 모르겠지만 직감적으로 포트 바잉딩 에러 자체가 기존에 Listening 하고 있는 포트를
또 바인딩할려고 해서 나는 에러니깐(다행히 소켓에 대한 개념은 약간 있었나 보다….)…
해결 된 거 맞지? 확실히 이 문제인지는 모르겠으나… 지금은 정상적으로 브레이크 포인트도 다 먹고 잘~~ 된다
ㅎ~
======= 추가 설명 =======
[디버깅 시 항상 시작] 의 값에 따른 Process Explorer 로 확인한 스크린 샷
다음 스샷에서 보는 것 처럼 Visual Studio 하위로 WebDev.WebServer40 프로세스가 True 일때는 2 개가.. False 일때는 정상적으로 1 개만 실행이 된다
결국 WebDev.WebServer40 프로세스가 중복 실행 되면서 동일한 포트에 바인딩할려다가 발생한 에러인듯 하다…
[디버깅 시 항상 시작 = False]
0 Comments