gpt4 book ai didi

c# - 卸载用 Assembly.LoadFrom() 加载的程序集

转载 作者:IT王子 更新时间:2023-10-29 03:49:42 24 4
gpt4 key购买 nike

我需要检查加载 dll 后运行 GetTypes() 的时间量。代码如下。

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

我想卸载并重新加载 dll 以检查再次运行 GetTypes() 所花费的时间。

  • 如何卸载它? assem = null 是否足够好?
  • 是否有明确的方法调用垃圾收集器来回收分配给 assem 的资源?

最佳答案

您可以使用另一个 AppDomain 吗?

AppDomain dom = AppDomain.CreateDomain("some");     
AssemblyName assemblyName = new AssemblyName();
assemblyName.CodeBase = pathToAssembly;
Assembly assembly = dom.Load(assemblyName);
Type [] types = assembly.GetTypes();
AppDomain.Unload(dom);

关于c# - 卸载用 Assembly.LoadFrom() 加载的程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6258160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com