Déchargement de l'Assemblée chargée de l'Assemblée.LoadFrom()

J'ai besoin de vérifier le temps d'exécuter GetTypes() après le chargement de la dll.
Le code est comme suit.

Assembly assem = Assembly.LoadFrom(file);
sw = Stopwatch.StartNew();
var types1 = assem.GetTypes();
sw.Stop();
double time1 = sw.Elapsed.TotalMilliseconds;

J'aimerais déchargez et rechargez le fichier dll pour vérifier le temps à consacrer à l'exécution de GetTypes() de nouveau.

  • Comment puis-je décharger? assem = null est assez bon?
  • Est-il de manière explicite à l'appel du garbage collector pour récupérer les ressources allouées à l'assemblée?
  • Réponse courte est que vous ne pouvez pas décharger Assemblées; vous ne pouvez décharger les domaines d'application. Il y a un certain nombre de limitations imposées lorsque vous chargez un Assemblage dans un nouveau domaine d'application, donc je vous recommande de faire quelques recherches sur le sujet pour avoir une idée de comment ils fonctionnent. Cela dit, vous pouvez charger la même Assemblée, même si l'on n'a pas été déchargé.
  • Quelqu'un a essayé ce qui se passe pour les assemblées si vous null eux ? Ils l'obtiennent ordures collectées ou libéré de toute façon ? Je m'inquiète de la mémoire.
  • Un très related post ici.
InformationsquelleAutor prosseek | 2011-06-06