どのように私は私のプロセスによってロードされたファイルのリストを得ることができますか?

StackOverflow https://stackoverflow.com/questions/1976608

  •  21-09-2019
  •  | 
  •  

質問

私は、プロジェクトの迅速かつ汚い展開をやろうとしています。私はそれは、簡単に私のプロセスを実行することが私のテスト展開のためのコピーファイルのリストを作成するために、すべてのロードされたファイルのリストをつかむために、いくつかのツールを使用します(DLL)が、そのリストを使用するだろうと思っています。

思想Filemonのを使用する方法についてが、ノイズの多くはそこにあります。そのA .NETプロジェクト。

感謝します。

役に立ちましたか?

解決

あなたはあなたのアプリケーションのAppDomain(複数可)を分析するために、.NETのリフレクションを使用してロードされたアセンブリと場所のリストをダンプすることができる必要があります。

var loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (var assembly in loadedAssemblies)
{
    Console.WriteLine(assembly.GetName().Name);
    Console.WriteLine(assembly.Location);
}

他のヒント

プロセスエクスプローラ?

チェック AppDomain.GetAssembliesする

For Each Ass As Reflection.Assembly In CurrentDomain.GetAssemblies()
    Console.WriteLine(Ass.ToString())
Next

このは、すでに別の質問するに答えている。

それの要旨が使用され、そのローダ場所によってアセンブリとループのリストを取得するために、現在のAppDomainます。

私はあなたがすべてのあなたのプロジェクトの参照が、フレームワークのものをtrueに設定「ローカルコピー」に設定することができます迅速な導入を行うには、あなたの質問を理解している場合。

この方法でアプリケーションをビルドするとき、あなたはそれがあまりにもローカル参照として追加するのがベストですので、ほとんどすべての、あなたの参照で必要な参照は、自動的にコピーされません、よく(自分の出力ディレクトリに必要なすべてのDLLを持っています)。

希望、このことができます。ない場合は、単になぜ言って、私はこれを継続しようとします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top