发生了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获得两个例外

  1. 第一个是“LoadFromContext”,它在激活第一个窗口时出现。
  2. 第二个是“NotMarshalable”,它在关闭该窗口时出现。

简单地忽略这两种exception类型允许我运行应用程序,并使用UI调试工具。 我没有观察到任何不良反应。