2016-09-22 3 views
0

Sysinternals Process Explorerには、「.NETアセンブリ」というタブがあります。コード(C#またはPowerShell)を使用してプロセス(Sysinternals Process Explorerなど)で.NETアセンブリ情報を取得

このタブは、.NETアセンブリを実際に使用するプロセスのプロパティにのみ表示されます。

PowerShellまたはC#を使用して実行中のプロセスで同じ情報を取得するにはどうすればよいですか?

ありがとうございました。

+0

チェック[この](http://stackoverflow.com/questionsのでプロセスを管理ためにあなたの挑戦を解決するためのがMDBGに行きましょう/ 383686/how-you-you-you-you-loop-through-loaded-assembly) – 3615

+0

ありがとうございました。残念ながら、そのコードがプロセスの「自己反映」のためのものであるかのように見えます。現在実行中の他のプロセスに関する情報を読みたい。 –

+0

[OK]をクリックすると、MDBGを使用してそのプロセスにアタッチし、アセンブリを解析することができます。しかし、おそらくそれは過労であり、より簡単な方法があります。 – 3615

答えて

1

this answerを見た後、私はあなたが必要とするものを手に入れるのが簡単ではないかもしれないことに気付きました。

 _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); 
      } 

     } 

あなたはnugetからMDBGパッケージを使用する必要があります:<package id="Microsoft.Samples.Debugging.MdbgEngine" version="1.4.0.0" targetFramework="net452" />

+0

その入力をありがとう。 私はそれを使って、ある程度アセンブリを集めることができました。クロムのようないくつかのプロセスではハングアップするようです。 –

+0

@TimoSperisen私がこれまでに述べたように、それは.NETで管理されるプロセスに対してのみ機能しますが、私が知る限り、Chromeは主にC++で書かれ、CLRでは実行されません。 Sysinternals Process Explorerの「.NETアセンブリ」タブのクロムについては何ですか? – 3615

+0

@TimoSperisen飢えを避けるには、[this](http://stackoverflow.com/a/2080161/5246145)(それをテストしていない)のようなものを試してみてください。 – 3615

関連する問題