2016-09-22 8 views
0

В Sysinternals Process Explorer существует вкладка «.NET Assemblies».Получить информацию о сборках .NET в процессе (например, Sysinternals Process Explorer) с помощью кода (C# или PowerShell)

Эта вкладка отображается только в свойствах процессов, которые фактически используют сборки .NET.

Как получить информацию о любом запущенном процессе с помощью PowerShell или C#?

Спасибо.

+0

Check [это] (http://stackoverflow.com/questions/383686/how-do-you-loop-through-current-loaded-assemblies) – 3615

+0

Спасибо. К сожалению, похоже, что этот код предназначен для «саморекламы» процесса. Я хочу прочитать информацию о других запущенных в данный момент процессах. –

+0

Итак, вы можете использовать MDBG для присоединения к этому процессу и проанализировать его сборки. Но, возможно, это перебор, и есть более простой способ. – 3615

ответ

1

Посмотрев на this answer Я понял, что, возможно, нет простого способа получить то, что вам нужно. Итак, давайте идти с MDBG, чтобы решить вашу проблему для удалось процессы:

 _engine = new MDbgEngine(); 
     _engine.Attach(p.Id, RuntimeEnvironment.GetSystemVersion()); 
     _engine.Processes.Active.Go().WaitOne(); 
     foreach (MDbgAppDomain appDomain in _engine.Processes.Active.AppDomains) { 
      foreach (CorAssembly assembly in appDomain.CorAppDomain.Assemblies) { 
       Console.WriteLine(assembly.Name); 
      } 

     } 

Вы должны с помощью пакета MDBG из nuget: <package id="Microsoft.Samples.Debugging.MdbgEngine" version="1.4.0.0" targetFramework="net452" />

+0

Спасибо за этот ввод. Я использовал это и смог в некоторой степени собрать сборки. Для некоторых процессов (например, хром) он, кажется, виснет. –

+0

@TimoSperisen Как я уже упоминал в ответ, он работает только для управляемых процессов .NET, в то время как Chrome, насколько мне известно, написан в основном на C++ и не работает на CLR. Что показывает вкладка «.NET Assemblies» для chrome в Sysinternals Process Explorer? – 3615

+0

@TimoSperisen Чтобы избежать зависания, вы можете попробовать что-то вроде [this] (http://stackoverflow.com/a/2080161/5246145) (никогда не тестировалось) – 3615