Если переменная ms
является MemoryStream
и содержит сборку .Net, вы обычно запускаете ее следующим образом:
var asm = Assembly.Load(ms.ToArray());
var entry = asm.EntryPoint;
var inst = asm.CreateInstance(entry.Name);
entry.Invoke(inst, null);
Это хорошо работает в консольных приложениях и приложениях Windows Form, однакоПриложения WPF выдают исключение:
Exception has been thrown by the target of an invocation.
С внутренним исключением типа System.IO.IOException
:
Cannot locate resource 'mainwindow.xaml'.
Трассировка стека действительно большая, но с самого начала она может угадатьнайти ресурсы при загрузке из памяти:
at MS.Internal.AppModel.ResourcePart.GetStreamCore(FileMode mode, FileAccess access)
at System.IO.Packaging.PackagePart.GetStream(FileMode mode, FileAccess access)
at System.IO.Packaging.PackagePart.GetStream()
at System.Windows.Application.LoadComponent(Uri resourceLocator, Boolean bSkipJournaledProperties)
at System.Windows.Application.DoStartup()
at System.Windows.Application.<.ctor>b__1(Object unused)
[...]
Как я могу это исправить?