Как узнать, какая версия .NET CLR загружена работающим приложением в XP?

Я знаю, что есть управляемые расширения оболочки, загружаемые программой explorer.exe на компьютер. Я хочу знать, какая версия CLR загружена в explorer.exe. Если я использую Vista или Win7, я могу использовать Process Explorer и посмотреть на вкладке .NET Assemblies свойств для explorer.exe. Однако это не работает на XP. Есть ли способ получить эту информацию на XP?


person Jack Smith    schedule 02.12.2010    source источник


Ответы (2)


Разве Process Explorer не показывает загруженные библиотеки DLL? Найдите mscorwks.dll в этом списке и посмотрите, откуда он загружается. (Это версия для рабочей станции — я не могу вспомнить, что такое версия для сервера, но я все равно не думаю, что вы увидите ее на компьютере с XP. В качестве первого приближения ищите все, что начинается с mscor.)

person Jon Skeet    schedule 02.12.2010
comment
О, круто. Поэтому, если я ищу mscorwks, и в результатах отображается список explorer.exe, а в разделе Handle или DLL отображается путь C:\Windows\Microsoft.NET\Framework\v2.0.50727, то это определенно означает, что он использует CLR v2. .0.50727? - person Jack Smith; 02.12.2010
comment
@Jack Smith: Это означает, что explorer.exe загрузил CLR v2.xxx, да. Имейте в виду, имейте в виду, что CLR v4 позволял загружать несколько версий CLR в одном процессе... - person Jon Skeet; 02.12.2010
comment
Спасибо. Если бы CLR 4 работала и были загружены более ранние версии, загружалась бы mscorwks.dll из расположения v4? - person Jack Smith; 02.12.2010

Если на целевом компьютере установлена ​​Visual Studio, вы можете использовать clrver<pid> из командной строки Visual Studio, чтобы узнать, какие версии CLR загружаются в процессе.

Например:

C:\>clrver 4900
v2.0.50727

Это указывает на то, что процесс с PID 4900 имеет загруженный .NET 2.

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.
person Daniel Fortunov    schedule 04.03.2011