发生了LoadFromContext
我有一个非常简单的C#问题,它从库中加载Windows WPF窗口。 这是代码:
public partial class App : Application { public App() { MainWindow mainWindow = new MainWindow(); mainWindow.Show(); } }
但是当我运行它时,在mainWindow.Show();
出现以下错误:
托管调试助手’LoadFromContext’在’C:\ Users ….. \ bin \ Debug \ Test.vshost.exe’中检测到问题。
附加信息:名为’WpfXamlDiagnosticsTap’的程序集是从’file:/// C:/ PROGRAM FILES(X86)/ MICROSOFT VISUAL STUDIO 14.0 / COMMON7 / IDE / COMMONEXTENSIONS / MICROSOFT / CLIENTDIAGNOSTICS / XAMLDIAGNOSTICS / x64 / WpfXamlDiagnosticsTap.dll’加载的使用LoadFrom上下文。
使用此上下文可能会导致序列化,转换和依赖项解析的意外行为。 几乎在所有情况下,建议避免使用LoadFrom上下文。 这可以通过在全局程序集缓存或ApplicationBase目录中安装程序集并在显式加载程序集时使用Assembly.Load来完成。
MainWindow
类只是从System.Windows.Window;
扩展而来System.Windows.Window;
我不确定这意味着什么以及如何解决。 刚刚升级到Visual Studio 2015。
如果我忽略exception并继续我在关闭最后一个窗口时得到这个:
从Visual Studio 2013切换到2015后,我遇到了同样的问题。一些旧项目(WPF,.NET 4.5,MVVM Light)产生了这个错误 – 其他没有。 在Visual Studio中,我可以跳过exception但新加载的版本在加载时停止并尝试打开JIT调试器。
到目前为止,唯一的解决方案似乎是回滚到Visual Studio 2013。
** 更新 **
最后我通过取消选中以下选项在VS 2015中解决了它:
工具 – >选项 – >调试 – >常规 – >为XAML启用UI调试工具
我突然开始在VS2015中看到这个错误并通过打开“exception设置”窗口(CTRL + ALT + E)并按下“恢复设置”按钮来修复它:
在VS2015中,我从WpfXamlDiagnosticsTap.dll获得两个例外
- 第一个是“LoadFromContext”,它在激活第一个窗口时出现。
- 第二个是“NotMarshalable”,它在关闭该窗口时出现。
简单地忽略这两种exception类型允许我运行应用程序,并使用UI调试工具。 我没有观察到任何不良反应。