vshost.exe프로세스에 대해서 잘 설명을 해주신 포스트 펌..^^
출처: http://beautyrain.tistory.com/19 [잡동사니]
VS2010으로 개발을 하다가 F5나 Ctrl+F5로 구현한 프로그램을 실행시켜 보면 항상 vshost.exe 파일이 함께 실행된다.
이 vshost.exe 파일은 Visual Studio 2010에서 좀 더 향상된 디버깅 기능을 제공하기 위한 프로세스이다.
MSDN에 보면 vshost.exe 의 역할은 디버깅 성능을 향상시키고 부분 신뢰 디버깅과
디자인 타임 식 계산을 사용할 수 있도록 도와주는 역할을 한다고 나와있다.
부분 신뢰 디버깅이란 응용 프로그램의 신뢰도가 부분 신뢰로 되어있는 응용 프로그램을 디버깅할 수 있도록
Application Domain을 초기화 해 주는 역할을 vshost.exe 에서 처리를 담당하고 있다는 의미이고
디자인 타임 식 계산은 VS2010의 디버깅 모드 중 직접실행 창에서 작성한 코드를
테스트할 수 있는 기능이 있는데 이 기능을 사용할 수 있도록 도와주는 역할을 vshost.exe가 담당하고 있다는 의미이다.
단, 디자인 타임 식 계산 기능은 일반적인 응용프로그램은 vshost.exe가 없더라도 가능하지만
Class Library Project와 같은 단독으로 실행될 수 없는 프로젝트는
vshost.exe 프로세스가 존재해야만 디자인 타임 식 계산이 가능하다.
부분 신뢰 디버깅 기능은 vshost.exe 프로세스가 존재하지 않으면 사용이 불가능하다.
하지만 코드상에서 AppDomain.CurrentDomain.FriendlyName 의 반환 결과를 보면
vshost.exe가 실행되고 있을 때는 app_name.vshost.exe가 반환되고
vshost.exe가 실행되고 있지 않을 때는 app_name.exe가 반환된다.
또한 Assembly.GetCallingAssembly().FullName 의 반환 결과는
vshost.exe가 실행되고 있을 때는 mscorlib가 반환되고
vshost.exe가 실행되고 있지 않을 때는 app_name이 반환된다.
이러한 차이점 때문에 가끔 vshost.exe 프로세스를 종료시켜야 할 경우가 생기는데
위 그림처럼 프로젝트 속성 탭에서 Visual Studio 호스팅 프로세스 사용 을 체크해제 하면
vshost.exe 프로세스가 실행되지 않는다.
'C#' 카테고리의 다른 글
C# SqlCommand 클래스 + ExecuteXmlReader (0) | 2017.10.03 |
---|---|
long? 형식은 nullable 가능하게 됨 ( null값 허용 ) (0) | 2017.09.29 |
C# 프로그램 System Tray Icon 만들기 (2) | 2017.09.14 |
Application.Exit() 해도 프로세스가 실행될때, 죽지 않을때. (0) | 2017.09.14 |
int형를 나누기 소수점을 얻으려면 => (double)로 캐스팅 변환 (0) | 2017.09.06 |
(C# Reference) C#의 int 순자의 범위 (0) | 2017.08.31 |
c#에서 null string처리 string.IsNullOrEmptuy(문자) (0) | 2017.08.25 |
[C#] String Decimal 소수점 지정 = String.Fromat() 함수사용, 숫자 3자리(천단위)마다 콤마 찍기 (0) | 2017.08.23 |
(로그인하지 않으셔도 가능)