Ich versuche AppDomains herauszufinden.Entladen Kind AppDomain tötet Eltern
I-Code verwenden im Anschluss an die aktuelle Anwendung noch einmal in einem neuen Kind AppDomain mit einem Argument laufen:
AppDomain domain = AppDomain.CreateDomain("NewAppDomain", null);
domain.ExecuteAssemblyByName(currentAssembly.FullName, "argument");
Es funktioniert gut, aber wenn ich versuche, es zu entladen über AppDomain.Unload(domain);
, es tötet auch Eltern es wurde von gerufen.
In der Debug-Ausgabe ich folgende Fehler sehen:
Exception thrown: 'System.Threading.ThreadAbortException' in mscorlib.dll
Exception thrown: 'System.Threading.ThreadAbortException' in mscorlib.dll
Exception thrown: 'System.Threading.ThreadAbortException' in TestAppDomain.exe
Exception thrown: 'System.Threading.ThreadAbortException' in System.Windows.Forms.dll
Exception thrown: 'System.AppDomainUnloadedException' in TestAppDomain.exe
Ich bin nicht sicher, was das Problem ist hier, wie kann ich richtig, ohne zu töten Eltern solches Kind AppDomain entladen?
Wie sieht der Code für * Entladen * der 'AppDomain' aus? Hast du eine Ausnahme? Könnten Sie bitte die Fehlermeldung teilen? –
@ RonaldRink'd-fens ', benutze ich einfach "AppDomain.Unload (domain)" und dann beendet Anwendung mit Exitcode 0, aber vorher gibt es "AppDomainUnloadedException" und "Threading.ThreadAbortException". Fügte diese in der Frage hinzu. – Puyebu
Haben Sie tatsächlich einen Code nach dem 'AppDomain.Unload' Aufruf, der nicht aufgerufen wird? –