2010-12-02 2 views
1

컴퓨터에서 explorer.exe에 의해로드 된 관리되는 셸 확장이 있다는 것을 알고 있습니다. explorer.exe에로드 된 CLR의 버전을 알고 싶습니다. Vista 또는 Win7을 실행하는 경우 Process Explorer을 사용하고 explorer.exe 속성의 .NET Assemblies 탭을 살펴보십시오. 그러나 이것은 XP에서는 작동하지 않습니다. XP에서이 정보를 얻을 수있는 방법이 있습니까?XP에서 실행중인 응용 프로그램에 의해로드 된 .NET CLR의 버전을 확인하는 방법은 무엇입니까?

답변

6

Process Explorer에도로드 된 DLL이 표시되지 않습니까? 해당 목록에서 mscorwks.dll을 찾고로드되는 곳을 확인하십시오. (워크 스테이션 버전 - 서버 버전이 무엇인지 기억이 나지 않지만 XP 상자에서 볼 수 있다고 생각지 않습니다. mscor으로 시작하는 것으로 첫 번째 근사값을 찾으십시오.)

+1

아, 멋지다. 그래서 "mscorwks"를 검색하면 결과에 "explorer.exe"가 표시되고 Handle 또는 DLL에는 C : \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 경로가 표시됩니다. 그것은 CLR v2.0.50727을 사용하고 있습니까? –

+0

@ Jack Smith : explorer.exe가 CLR v2.xxx를로드했음을 의미합니다. 그렇습니다. CLR v4가 CLR의 여러 버전을 동일한 프로세스에로드 할 수 있음을 기억하십시오. –

+0

고마워요. CLR 4가 실행 중이고 이전 버전도로드 된 경우 mscorwks.dll이 v4 위치에서로드됩니까? –

6

대상 컴퓨터에 Visual Studio가 설치되어있는 경우 Visual Studio Command Promptclrver<pid>을 사용하여 프로세스에로드 된 CLR의 버전을 확인할 수 있습니다. 예를 들어

는 :

C:\>clrver 4900 
v2.0.50727 

이 PID 4900로 프로세스가로드 .NET이 있음을 나타냅니다.

C:\>clrver -h 
Displays CLR versions 
Usage: clrver [-?|-all|<PID>] 

     -all - Displays all processes on the machine using the CLR. 
     <PID> - Displays the version of the CLR used by the specified process. 
     -? - Displays this help screen. 

If called with no options, clrver will display all installed CLR versions.