Подтвердить что ты не робот

Поверхность LoadFromContext

У меня очень простая проблема с С#, которая загружает окно 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 была загружена из 'файл:///C:/ПРОГРАММНЫЕ ФАЙЛЫ (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

4b9b3361

Ответ 1

Я столкнулся с той же проблемой после переключения с Visual Studio 2013 до 2015 года. Некоторые старые проекты (WPF,.NET 4.5, MVVM Light) производят эту ошибку - другие нет. В Visual Studio я могу пропустить исключение, но только что созданные релизы останавливаются при загрузке и пытаются открыть JIT Debugger.

До сих пор единственным решением стало откат к Visual Studio 2013.

** ОБНОВЛЕНИЕ **

Наконец, я решил это в VS 2015, сняв следующую опцию:

Инструменты → Параметры → Отладка → Общие → Включить инструменты отладки пользовательского интерфейса для XAML

Ответ 2

Я вдруг начал видеть эту ошибку в VS2015 и исправил ее, открыв окно "Исключение настроек" (CTRL + ALT + E) и нажмите кнопку "Восстановить настройки":

введите описание изображения здесь

Ответ 3

В VS2015 я получаю два исключения из WpfXamlDiagnosticsTap.dll

  • Первый - "LoadFromContext", и это происходит при активации первого окна.
  • Второй - "NotMarshalable", и это происходит при закрытии этого окна.

Просто игнорирование этих двух типов исключений позволяет мне запускать приложение и использовать инструменты отладки пользовательского интерфейса. Я не наблюдал никаких побочных эффектов.