Abhängigkeiten finden
Ich benutze eine aus java Code erstellte .NET Assembly. Wenn ich die Anwendung ausführe, bekomm eich folgende Exception:
Zitat:
|
Re: Abhängigkeiten finden
Das ist per Reflection.Assembly möglich, allerdings ersparen dir viele Tools das Selbstschreiben. Ein schon im SDK enthaltenes wäre IL-Dasm, was aber nicht einmal halb so schön ist wie Lutz Roeders Reflector ;) .
|
Re: Abhängigkeiten finden
Code:
Bis auf die mscorlib liegen auch alle dateien im Anwendungsverzeichnis. :gruebel:
- hib3test2
Depends On IKVM.GNU.Classpath IKVM.Runtime mscorlib mscorlib |
Re: Abhängigkeiten finden
Das NET-Tool FusionLogView - zu finden unter (InstallPfad)\v2.0\Bin\FUSLOGVW.exe - zeigt im Detail, welche Assembly mit welcher Version (einschl. PublicKeyToken) wo gesucht wird und bei welcher Assembly es scheitert.
Danach hilft Roeder's Reflector, um die richtigen Versionen festzustellen. Gruß Jürgen |
Re: Abhängigkeiten finden
Hm, wie benutze ich das Programm FUSLOGVW? Wenn ich das laufen habe und starte meine Anwendung und führe den Code aus, der die Exception verursacht (Die abgefangen wird.) passiert da irgendwie nichts.
|
Re: Abhängigkeiten finden
Zitat:
Gruß Jürgen PS. nur aus der Erinnerung heraus beschrieben |
Re: Abhängigkeiten finden
So habe ich es gemacht. Aber ich sehe da trotzdem nichts. Egal, ob ich das programm aus dem VS starte oder direkt die Exe aus dem Debug-Ordner. :gruebel:
|
Re: Abhängigkeiten finden
Zitat:
|
Re: Abhängigkeiten finden
Ich starte auch zu erst FUSLOGVW. dann meine Anwendung. Dann klicke ich in FUSLOGVW auf "Refresh". Der Listview ist immer noch leer. Dann klicke ich auf den Button in meiner Anwendung, der den Fehler auslöst. FUSLOGVW ist immer noch leer. Auch ein Klicken auf "Refresh" ändert nichts daran.
Ich habe hie rübrigens nur Version v1.1 |
Re: Abhängigkeiten finden
Ich habe jetzt bei mir eine Exe für NET 1.1 gesucht und gestartet. Gleicher Verlauf, gleiches Ergebnis:
Die Anzeige benutzt übrigens den Internet Explorer. |
Re: Abhängigkeiten finden
Normalerweise sollte es auch genügen, Fusiondingens nach dem Beenden des Programmes zu starten. Und wenn es partout nicht will, kannst du ja wenigstens einmal (sofern du es nicht schon getan hast ;) ) die vom Reflector ausgespuckten Versionen mit denen der Assemblys im Verzeichnis vergleichen. Besonders eine zweifach eingebundene CoreLib kommt mir etwas spanisch vor :gruebel: .
|
Re: Abhängigkeiten finden
Standardbrowser ist hier der Firefox. Der IE ist aber installiert. Komisch. :gruebel:
@Khabarakh: Ja das kommt mir auch komisch vor. Wenn ich bei beiden mscorlib "Go to member" anklicke, springt er rechts in den Treeview zum Eintrag "mscorlib":
Code:
// Assembly mscorlib, Version 2.0.0.0
Location: %SystemRoot%\Microsoft.net\Framework\v2.0.50727\mscorlib.dll Name: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Type: Library |
Re: Abhängigkeiten finden
FusionLogViewer benutzt den Standardbrowser, wär ja schlimm wenn nicht :stupid: .
Zitat:
Code:
.assembly extern mscorlib
{ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 1:0:5000:0 } |
Re: Abhängigkeiten finden
Aha. Unter: hib3test2/References ist die mscorlib auch zweimal aufgeführt. Einmal als version 1.0.5000.0 und einmal als version 2.0.0.0.
Und nu? :shock: |
Re: Abhängigkeiten finden
Hm, gute Frage :mrgreen: .
Die Assembly ist von diesem ikvmc erstellt worden? Dann könnte ich mir höchstens noch vorstellen, dass du mscorlib per -reference-Parameter angegeben hast und der Compiler sie gleichzeitig implizit eingebunden hat. Ansonsten wirds langsam wirklich haarig :stupid: . |
Re: Abhängigkeiten finden
Ok, da werde ich morgen mal meinen Chef fragen, wie er die erstellt hat. Die ist nämlich von ihm.
|
Re: Abhängigkeiten finden
So, in der Assembly ist jetzt die mscorlib nur einmal drinne nach dem ich sie auf meinem Rechner erzeugt habe. Eingebunden ist die Version 2.0.0.0 aus: %SystemRoot%\Microsoft.net\Framework\v2.0.50727\ms corlib.dll
Der Fehler ist allerdings der gleiche und das Problem mit der FUSLOGVW.exe besteht weiterhin. :gruebel: |
Re: Abhängigkeiten finden
Ich bin wieder an dem Problem dran. also wen ich das BDS starte, dann zeigt mir FUSLOGVW.exe was alles geladen wird. Strate ich aber ein .NET Programm (in C#) von mir, egal welches, wird mir nichts angezeigt. Müssen da eventuell noch spezielle Debug-Informationen rei, die beim Erstellen der Debug-Version noch nicht mit drinne sind?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz