【问题标题】:I tried to unload an Application domain but my application stopped working我试图卸载应用程序域,但我的应用程序停止工作
【发布时间】:2017-07-24 19:29:54
【问题描述】:

我创建了一个新的应用程序域并将我的程序集加载到其中。

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

一切都很顺利。该应用程序使用了资源字典等,但是当我尝试使用此代码卸载 dll 以释放内存时,我的应用程序关闭时没有任何错误或警告:

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

突然退出后输出窗口显示这些:

“System.AppDomainUnloadedException”类型的第一次机会异常 发生在 mscorlib.dll 类型的第一次机会异常 'System.AppDomainUnloadedException' 发生在 mscorlib.dll 中 线程“vshost.RunParkingWindow”(0x1df8)已退出,代码为 0 (0x0)。线程 '' (0xfcc) 已退出,代码为 0 (0x0)。

【问题讨论】:

  • 您的意思是应用程序关闭没有错误或警告。您在事件日志中收到什么错误或警告?您能否捕获异常并记录它以了解您无法卸载的原因。而不是再次卸载。在您的 ctach 块中
  • 抱歉,已将输出窗口日志添加到问题中。

标签: c# wpf appdomain


【解决方案1】:

“System.AppDomainUnloadedException”类型的第一次机会异常 发生在 mscorlib.dll 中

如果您收到 AppDomainUnloadedException ,那么您可以忽略它,因为 AppDomainUnloadedException 在卸载应用程序域时抛出,这就是您想要的。

来自msdn

尝试访问 卸载的应用程序域

【讨论】:

  • 这是那些无异常的异常之一,例如 ThreadInterruptedException 等。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-09
相关资源
最近更新 更多