2017-07-24 14 views
2

J'ai créé un nouveau domaine d'application et charge mon assembly dedans.J'ai essayé de décharger un domaine d'application mais mon application a cessé de fonctionner

Assembly assembly = dom.Load("bookOne"); 

Tout s'est bien passé. l'application utilisée dictionnaire de ressources, etc, mais quand j'ai essayé de décharger la dll pour libérer la mémoire avec ce code ma grande application sans erreur ou d'avertissement:

try 
{ 
    AppDomain.Unload(dom); 
} 
catch (CannotUnloadAppDomainException) 
{ 
    Console.WriteLine("Book Unloaded!" + " 4"); 
    AppDomain.Unload(dom); 
    GC.Collect(); 
} 

La fenêtre de sortie montre ces après la sortie soudaine:

Une première possibilité exception de type 'System.AppDomainUnloadedException' produite dans mscorlib.dll Une première possibilité exception de type 'System.AppDomainUnloadedException' est produite dans mscorlib.dll Le fil 'vshost.RunParkingWindow' (0x1df8) a quitté avec le code 0 (0x0). Le thread '' (0xfcc) s'est terminé avec le code 0 (0x0).

+0

ferme ** sans ** erreur ou d'avertissement. quelle erreur ou avertissement recevez-vous dans les journaux d'événements? pourriez-vous attraper l'exception et vous connecter pour comprendre pourquoi vous ne pouviez pas décharger. Au lieu de décharger à nouveau. Dans votre bloc ctach –

+1

Désolé, le journal de la fenêtre de sortie a été ajouté à la question. – hemarn

Répondre

3

Une exception de première chance de type 'System.AppDomainUnloadedException' est produite dans mscorlib.dll

Si vous obtenez AppDomainUnloadedException, vous pouvez ignorer cela parce que AppDomainUnloadedException est levée lorsqu'un domaine d'application est déchargé et c'est ce que vous voulez.

De l'msdn

L'exception qui est levée lors d'une tentative d'accès à un vouliez-vous dire l'application domaine d'application à vide

+0

Ceci est l'une de ces exceptions non exceptionnelles, comme ThreadInterruptedException et autres. – hoodaticus