如何使用AppDomains在同一过程中运行多个WPF应用程序

问题描述

我正在创建Visual Studio插件,该插件通过引用与大型项目连接。 主要目标是通过单击按钮运行“主要”应用程序。 当我尝试这样做时,发生错误system.invalidOperationException:“您不能在同一AppDomain中创建多个System.Windows.Application实例。”

这是我的代码

 [STAThread]
        [LoaderOptimization(LoaderOptimization.MultiDomainHost)]
        private void CreateApp(object sender,EventArgs e)
        {
            AppDomain domain = AppDomain.CreateDomain("MyProgram.WpfApp");

            CrossAppDomainDelegate action = () =>
            {
                Thread thread = new Thread(() =>
                {
                    App app = new MyProgram.WpfApp.App();
                    app.ShutdownMode = System.Windows.ShutdownMode.OnExplicitShutdown;
                    app.Run();
                });
                thread.Name = AppDomain.CurrentDomain.FriendlyName;
                thread.SetApartmentState(ApartmentState.STA);
                thread.Start();
            };
            domain.DoCallBack(action);
        }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)