LoadFromContext发生

时间:2015-07-11 21:35:56

标签: c# wpf visual-studio-2015

我有一个非常简单的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;延伸 我不确定这意味着什么以及如何解决。刚升级到Visual Studio 2015。

enter image description here

enter image description here

如果我忽略了异常并继续我在关闭最后一个窗口时得到这个:

enter image description here

3 个答案:

答案 0 :(得分:42)

从Visual Studio 2013切换到2015后,我遇到了同样的问题。 一些旧项目(WPF,.NET 4.5,MVVM Light)产生此错误 - 其他不是。在Visual Studio中,我可以跳过异常,但新加载的版本在加载时停止并尝试打开JIT调试器。

到目前为止,唯一的解决方案似乎是回滚到Visual Studio 2013。

** 更新 **

最后,我通过取消选中以下选项在VS 2015中解决了这个问题:

工具 - >选项 - >调试 - >一般 - >为XAML启用UI调试工具

答案 1 :(得分:12)

我突然开始在VS2015中看到此错误并通过打开“异常设置”窗口(CTRL + ALT + E)并按“恢复设置”按钮修复它:

enter image description here

答案 2 :(得分:3)

在VS2015中,我从WpfXamlDiagnosticsTap.dll获得两个例外

  1. 第一个是" LoadFromContext"当激活第一个窗口时会发生这种情况。
  2. 第二个是" NotMarshalable"当关闭那个窗口时会发生这种情况。
  3. 简单地忽略这两种异常类型允许我运行应用程序,并使用UI调试工具。我没有观察到任何不良反应。