我有一个生成表单的程序集(它是一个客户端软件)。我可以构建一个应用程序获取和启动(显示)该表单没有任何问题。但我无法启动该表格两次,因为程序集不提供干净的封装解决方案。每隔一秒启动就会崩溃,因为有些东西不能再次初始化成功。不幸的是,无法修改程序集。
现在我把它放在一个单独的AppDomain中,以便能够卸载该程序集。这工作正常,托管应用程序现在可以多次启动该窗体。
现在问题是:我有一个WPF应用程序,它不应该显示程序集的Form,它应该包含在它自己的一个窗口中。程序集的WinForms表单已经在WindowsFormHost和WPF窗口中(带有AssemblyAppDomain)。但我无法将WPF-Window指定为主要WPF-app-windows之一的内容。它位于AssemblyAppDomain AppDomain中(并且不与对象共享对象空间)。
就我迄今为止搜索而言,应该可以在不同的AppDomains中的两个WPF窗口之间建立连接,因为这是System.AddIn的工作方式。应该使用管道,合同和 FrameworkElementAdapter 。我有些困惑,任何更具体的提示将不胜感激!