Ich habe ein Programm von Drittanbietern auf meinem Computer installiert. öffnete ich eine der DLL herauf, die mit diesem Programm in ildasm.exe kommt und inspiziert das Manifest:Wie finde ich welche mscorlib.dll ein Programm verwendet?
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89) // .z\V.4..
.ver 2:0:0:0
}
So verwendet das Programm entweder .net 2.0, 3.0 oder 3.5.
Ich suchte nach mscorlib.dll auf meinem Computer und fand 61 Dateien.
Wie finde ich welche dieser DLLs das Programm tatsächlich verwendet?
ich auch feststellen, dass ein paar von diesen sind in Verzeichnissen mit dem Namen: C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework.NETPortable \ v4.0 \ Profile \ ProfileXXX \ mscorlib.dll, wo XXX ist eine 1-3-stellige Nummer.
Was geht hier vor? Ich könnte verstehen, dass jede .net-Version (2.0, 3.0, 3.5 ...) eine andere Datei hätte, die aber nicht zu 61 Dateien addieren sollte. Was ist der Unterschied zwischen jedem dieser Profile?
Ist das, was die. NET-Lösung des DLL-Hölle-Problems aussieht? Eine ganze Reihe von Versionen der gleichen Datei + öffentliche Schlüssel, um die .dll sicher zu identifizieren.
Wer löscht die DLLs, die nicht mehr verwendet werden? Es scheint, dass möglicherweise jedes Programm seine eigene Version von .net hat. Muss die Diskette irgendwann voll sein?
Haben Sie bereits versucht [Fusion Log Viewer] (http://msdn.microsoft.com/en-us/library/e74a18c4%28VS.80%29.aspx)? Ich habe nicht angeschaut, ob dies verwendet werden kann, um mscorlib.dll zu überprüfen. http://StackOverflow.com/a/3952202/255562 –
Sieht aus wie ein Duplikat, obwohl diese Antworten mehrere Jahre alt sind und veraltet sein können. http://stackoverflow.com/questions/227886/how-do-i-de-termine-the-dependencies-of-a-net-application – Almo
Danke Ashish! Gemäß diesem Tool verwendet das Programm C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ mscorwks.dll. Ein anderer Name als mscorlib.dll, das ein bisschen seltsam ist, aber ok. Auch sagt es, dass es die Versammlung gefunden hat, indem es in GAC geschaut hat. – Andy