3 Stimmen

Irgendwelche Tools zur Erkennung aller referenzierten .NET dll's

Ich verwende Antlr-Tools wie folgt (unter Mono)

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

Ich verweise auf zwei DLLs, aber es gibt eine weitere DLL-Datei (antlr.runtime.dll), die im Hintergrund referenziert wird. Ich habe dies, wenn ich einen Fehler nur Kopieren von zwei dlls und kompilieren haben.

Gibt es irgendwelche .NET-Tools, um zu erkennen, welche DLLs referenziert werden? Wenn ich zum Beispiel 'DETECT Antlr3.Runtime.dll' ausführe, erhalte ich 'antlr.runtime.dll'.

3voto

Adam Lear Punkte 36637

Geben Sie NDepend ein Versuch. Es verfügt über eine Abhängigkeitsgrafik/Abhängigkeitsmatrix, mit der Sie die Abhängigkeiten zwischen DLLs untersuchen können.

2voto

Julien Hoarau Punkte 47065

Sie könnten verwenden Reflektor oder schreiben Sie eine mit Mono.Cecil ( NDepend dies verwenden)

Beispiel mit Mono.Cecil

In einem neuen Projekt, Referenz 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);
      }
    }
  }
}

1voto

SLaks Punkte 832502

Sie können verwenden Reflektor . (Rekursive Erweiterung des Knotens Referenzen)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X