如果变量
我该如何修复这个问题?
ms
是MemoryStream
类型并且包含一个 .Net 程序集,你通常会这样运行它:var asm = Assembly.Load(ms.ToArray());
var entry = asm.EntryPoint;
var inst = asm.CreateInstance(entry.Name);
entry.Invoke(inst, null);
这在控制台应用程序和Windows窗体应用程序上运行良好,但是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)
[...]
我该如何修复这个问题?