3 Stimmen

Debuggen einer dynamisch erstellten Klasse in Visual Studio & C#

Mein Projekt verwendet eine Bibliothek, die ihrerseits die Microsoft.Practices.Unity um eine Klasse dynamisch zu erstellen und einige ihrer Methoden auszuführen. Diese Klasse löst einen Fehler aus, nachdem sie erstellt wurde.

Ist es möglich für mich, den Visual Studio-Debugger zu verwenden, um Schritt in und Debuggen dieser dynamischen Klasse? Ich habe Reflector Pro, das es mir ermöglicht hat, so weit zu gehen, wie ich es getan habe.

Hinweis : Ich habe bereits versucht, den Entwickler der Bibliothek, die ich verwende, zu kontaktieren, aber er scheint nicht bereit zu sein, dieses Problem zu lösen. Daher versuche ich, das Problem selbst zu lösen.


UPDATE

Ich meine nicht das dynamische Schlüsselwort. Die oberste Zeile des Stacktrace lautet

DynamicModule.ns.Wrapped_OpenAccessMetaDataProvider_bf5ed2b8ccd24dacab4923be24786366.Initialize(String providerName, NameValueCollection config, Type managerType) +506

Googeln der DynamicModule.ns.Wrapped_ führt zu Unity's InterfaceInterceptorClassGenerator Klasse. Diese Klasse scheint sinnvoll zu sein, da sie "zur Generierung von Proxy-Klassen verwendet wird...". Ich habe Schwierigkeiten, ein geeignetes Codebeispiel zu finden, weil es so aussieht, als gäbe es einen bedeutenden OO-Rahmen um die Konstruktion dieser Klasse.


UPDATE 2

Die Unity-Klasse löst eine Ausnahme aus:

Einer oder mehrere der angeforderten Typen können nicht geladen werden. Rufen Sie die Eigenschaft LoaderExceptions für weitere Informationen ab.

Die Ausnahme hatte keine LoaderExceptions Eigenschaft, also hilft das nicht. Ich wollte nicht die Frage mit Details, aber kurz gesagt, es ist dies: mein CMS (die namenlos bleiben wird) verwendet eine veraltete Version des Facebook C# SDK. Beim Aktualisieren der Facebook SDK-Assemblies wird dieser Fehler ausgelöst. Das macht Sinn, weil sich das SDK geändert hat. Ich versuche, einen Einblick in die Verbindung zwischen der OpenAccessMetaDataProvider-Klasse und dem Facebook-SDK zu erhalten.

1voto

Matt Punkte 6569

Ich bin kein Experte für dynamische Klassen, aber versuchen Sie System.Diagnostics.Debugger.Break() ...

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