39 Stimmen

Was genau ist die "Anonymously Hosted DynamicMethods Assembly" und wie kann ich sie manuell laden?

Für einen .NET-Entwickler ist die Zeile

'<process name>' (Managed): Loaded 'Anonymously Hosted DynamicMethods Assembly'

ist Ihnen wahrscheinlich bekannt. Meine Frage ist einfach und klar: Was genau ist diese "Anonymously Hosted DynamicMethods Assembly" und kann ich sie manuell (vor-)laden lassen? Wenn ja, wie? Kann dies über Assembly.Load(...) geschehen?

36voto

Hans Passant Punkte 894572

System.Reflection.Emit enthält Klassen, mit denen Sie dynamisch generierten Code durch Emittieren von IL-Anweisungen erstellen können. Die Klassen DynamicMethod und AssemblyBuilder sind die Arbeitspferde für diese Aufgabe. Normalerweise wird IL von einer Assembly geladen, aber es gibt keine Assembly, wenn Sie die IL dynamisch generieren. Ein Assembly-Objekt wird jedoch benötigt, um als Container für den IL-Code zu fungieren, und ein "unechtes" Assembly wird durch AppDomain.DefineDynamicAssembly() erstellt. Das ist es, was Sie in der Debugger-Benachrichtigung sehen.

Sie können Assembly.Load() nicht verwenden, da die Baugruppe dynamisch erstellt wird.

2voto

leppie Punkte 111830

Dies gilt für DynamicMethods und somit auch für Ausdrücke.

Sie können es nicht manuell laden.

0voto

Vagaus Punkte 4138

Ich vermute, dass es sich um eine Baugruppe handelt, die während der Laufzeit ausgegeben wird. Da es nicht erforderlich ist, die Baugruppe auf der Festplatte zu speichern, ist es möglicherweise nicht möglich, sie manuell zu laden (in diesem Fall, wenn der Code die Ausgabe der Baugruppe - in den Speicher - beendet, werden die in der Baugruppe definierten Typen direkt verwendet - es besteht keine Notwendigkeit, etwas zu laden)

Weitere Informationen finden Sie in der Dokumentation in msdn .

Am besten

0voto

nrs Punkte 116

Dies ist eine alte Frage, aber ich bin erst kürzlich darauf gestoßen. Mein Code funktioniert gut, die Sache, die ich erinnern kann, habe ich vorher auf die neueste telerik Update aktualisiert. Dann habe ich meine aktuelle Lösung aktualisiert, wenn ich meine Anwendung ausführen, erscheint der Fehler ... Der Fehler Popups um Html-Helfer "Html.TextboxFor", "Html.PasswordFor" ist in Ordnung,

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