Carregar e executar a DLL do WPF em outro exe do WPF
Minha questão principal é como afirmei no título.
WPF_APP1 -> criei a dll deste projeto wpf após excluir App.xaml
WPF_APP2 -> Exe normal do WPF. que precisa executar a dll WPF_APP1 acima e abrir o formulário WPF_APP1 MainWindow usando reflexão.
Por que estou dizendo para reflexão é -WPF_APP2 primeiro obtenha as últimasWPF_APP1.dll abra então não pode adicionar a referência de dll. precisa usar apenas o Reflection.
Quando eu uso a dll acima no projeto cmd está tudo bem. abra a janela do CMD e inicie oWPF_APP1 MainWindow como forma de janela.
Mas agora eu preciso abrir esse formulário da janela não no cmd, noWPF_APP2.
Por favor, me ajude.
O projeto CMD usa o código abaixo para abrir oWPF_APP1 Janela principal.
static void Main(string[] args)
{
Thread t = new Thread(ThreadProc);
t.SetApartmentState(ApartmentState.STA);
t.IsBackground = true;
t.Start();
Console.ReadLine();
}
private static void ThreadProc()
{
string loc = new FileInfo(Assembly.GetExecutingAssembly().Location).DirectoryName
+ "\\AutoUpdateTesting.dll";
Assembly dll = Assembly.LoadFile(loc);
foreach (Type type in dll.GetExportedTypes())
{
if (type.Name.Equals("MainWindow"))
{
dynamic n = null;
n = Activator.CreateInstance(type);
n.InitializeComponent();
System.Windows.Application apprun = new System.Windows.Application();
apprun.Run(n);
break;
}
}
}
Não consigo usar linha -
System.Windows.Application apprun = new System.Windows.Application();
No WPF_APP2 por causa do AppDomain (encontrou esse motivo no google). Tente outra alternativa, mas sem sorte.
Por favor, dê uma olhada e compartilhe seu conhecimento. :)
aguardando seus comentários e respostas.
obrigado