我有非常简单的代码,如:
var childDomain = AppDomain.CreateDomain("child");
childDomain.ExecuteAssembly("WpfApplication1.exe");
AppDomain.Unload(childDomain);
但它完全关闭应用程序。我在父应用程序中没有任何对WpfApplication1.exe的引用。我读过这篇文章 - AppDomain Unload killing Parent AppDomain,但它没有帮助。
那么我做错了什么?
答案 0 :(得分:0)
问题在于这一行: childDomain.ExecuteAssembly( “WpfApplication1.exe”);
ExecuteAssembly方法在与调用者相同的线程上运行应用程序。所以卸载就是杀死主线程。解决方案是在新的STA线程中运行子app。