AppDomain卸载关闭应用程序

时间:2015-02-11 10:59:20

标签: c# .net wpf

我有非常简单的代码,如:

var childDomain = AppDomain.CreateDomain("child");
childDomain.ExecuteAssembly("WpfApplication1.exe");
AppDomain.Unload(childDomain);

但它完全关闭应用程序。我在父应用程序中没有任何对WpfApplication1.exe的引用。我读过这篇文章 - AppDomain Unload killing Parent AppDomain,但它没有帮助。

那么我做错了什么?

1 个答案:

答案 0 :(得分:0)

问题在于这一行: childDomain.ExecuteAssembly( “WpfApplication1.exe”);

ExecuteAssembly方法在与调用者相同的线程上运行应用程序。所以卸载就是杀死主线程。解决方案是在新的STA线程中运行子app。