3

私はAntlrツールを次のように使用しています(Monoで)

dmcs /r:Antlr3.Runtime.dll /r:StringTemplate.dll * .cs /out:Main.exe

2つのdllを参照していますが、バックグラウンドで参照されている別のdllファイル(antlr.runtime.dll)があります。2つのdllをコピーしてコンパイルするだけでエラーが発生したときにこれを取得しました。

参照されているdllを検出するための.NETツールはありますか?たとえば、「DETECT Antlr3.Runtime.dll」を実行すると、「antlr.runtime.dll」が表示されます。

4

3 に答える 3

3

NDependを試してみてください。DLL間の依存関係を調べることができる依存関係グラフ/依存関係マトリックス機能があります。

于 2010-10-12T15:16:47.063 に答える
2

Reflectorを使用することも、 Mono.Cecilを使用して作成することもできます(NDependはこれを使用します)

Mono.Cecilを使用した例

新しいプロジェクトでは、Mono.Cecilを参照してください

using System;
using Mono.Cecil;

namespace ReferenceDetector
{
  class Program
  {
    static void Main(string[] args)
    {
      var assemblyPath = args[0];
      var assemblyDefinition = AssemblyFactory.GetAssembly(assemblyPath);
      Console.WriteLine(assemblyDefinition.Name.FullName);
      foreach (AssemblyNameReference reference in assemblyDefinition.MainModule.AssemblyReferences)
      {
        Console.WriteLine("\t" + reference.FullName);
      }
    }
  }
}
于 2010-10-12T15:18:40.450 に答える
1

Reflectorを使用できます。([参照]ノードを再帰的に展開します)

于 2010-10-12T15:15:54.373 に答える