Arhn - архитектура программирования

Не удалось загрузить файл или сборку PresentationUI.Aero2 или одну из ее зависимостей. Почему нет?

В моем приложении WPF при запуске я получаю следующее исключение:

A first chance exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll

Additional information: Could not load file or assembly 
'PresentationUI.Aero2, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 
or one of its dependencies. 

РЕДАКТИРОВАТЬ: Используя журнал слияния, я получаю немного более ценную информацию, чем стек вызовов:

LOG: DisplayName = PresentationUI.Aero2, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
 (Fully-specified)
LOG: Appbase = file:///[...]/bin/Debug/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = EngideskLauncher.vshost.exe
Calling assembly : PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: [...]\bin\Debug\EngideskLauncher.vshost.exe.Config
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: PresentationUI.Aero2, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///[...]/bin/Debug/PresentationUI.Aero2.DLL.
LOG: Attempting download of new URL file:///file:///[...]/bin/Debug/PresentationUI.Aero2/PresentationUI.Aero2.DLL.
LOG: Attempting download of new URL file:///file:///[...]/bin/Debug/PresentationUI.Aero2.EXE.
LOG: Attempting download of new URL file:///file:///[...]/bin/Debug/PresentationUI.Aero2/PresentationUI.Aero2.EXE.
LOG: All probing URLs attempted and failed.

Что мне кажется странным, так это то, что вызывающая сборка — это PresentationFramework, которая, очевидно, является сборкой .NET framework. Сборка .NET Framework не будет вызывать сборку, которая не является сборкой .NET Framework. Во всяком случае, я нигде не могу найти PresentationUI.Aero2.DLL, и даже Google, похоже, ничего об этом не знает??

Любые идеи?

Дополнительная информация:

  • .NET Framework 4.0
  • Windows 8.1
04.11.2014

  • Включите журнал слияния или используйте ProcMon, чтобы узнать, какой файл он пытается загрузить. См. Как отладить «Не удалось загрузить файл или сборки” ошибки времени выполнения?. 04.11.2014
  • Привет CodeCaster, спасибо за подсказку. Я был бы рад, если бы вы могли дать мне краткий отзыв о выходе. У тебя есть идеи? 04.11.2014
  • Привет Ганс, папка, которую ты упомянул, содержит PresentationFramework.Aero2.DLL, но не PresentationUI.Aero2.DLL. Что вы имеете в виду под тем, как вы получили 4.0 на этой машине, совершенно невозможно угадать? Я не помню, чтобы использовал какую-либо кувалду;) Спасибо за вашу помощь! 04.11.2014
  • Мой проект WPF (.NET 4.0, Win8.1) генерирует точно такое же исключение для любого представления, содержащего FlowDocument, но только при запуске с отладчиком в Visual Studio. Если я запускаю исполняемый файл из папки bin, не исключение. Отдельный проект, который я создал как автономный, работает при запуске как автономный проект в своем собственном решении, но терпит неудачу, если я добавляю его к существующему решению, поэтому я подозреваю, что с моим решением что-то не так. 25.11.2014
  • Привет, pmcoltrane, в моем случае ошибка исчезла сама собой, и я не мог сказать, что я изменил. Я работал в проекте, который выдал исключение и перестроил его. Понятия не имею... Наверное, это то, что вы называете Heisen-Bug. Если узнаю что-нибудь, буду рад, если вы мне сообщите! 26.11.2014
  • Этот ответ устранил мою аналогичную проблему: stackoverflow.com/questions/17335712/ 16.12.2014
  • Вероятно, вы используете FlowDocument, FlowDocumentScrollViewer или что-то в этом роде. 29.05.2016

Ответы:


1

Я получал ту же ошибку и, наконец, понял, что она просто останавливалась в IDE, потому что у меня были включены исключения первого шанса, исключение на самом деле не имеет значения, и вы можете игнорировать его или продолжить его.

13.10.2015
  • Таким образом, это не отвечает на вопрос, почему возникает исключение. У вас есть какие-нибудь идеи, почему он выбрасывается, если мы можем просто игнорировать его? 04.01.2016

  • 2

    Если вам интересно, это (доброкачественная) ошибка в WPF. Исключение имеет первый шанс и может быть проигнорировано.

    WPF забыл добавить Aero2.NormalColor.xaml к PresentationUI.dll. Если вы просмотрите PresentationUI.dll с помощью вашего любимого рефлектора/декомпилятора, вы найдете всевозможные темы, такие как Aero.NormalColor.baml и т. д., но не Aero2.NormalColor.xaml. Это заставляет WPF попытаться проверить, существует ли внешняя сборка:

    Это пытается загрузить Aero2.NormalColor.baml из PresentationUI.dll и возвращает null: http://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/SystemResources.cs,773

    Затем выполняется попытка внешней сборки: http://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/SystemResources.cs,554

    И это вызывает фактическое исключение: http://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/SystemResources.cs,706

    Это исключение обычно наблюдается при использовании FlowDocument или FlowDocumentScrollViewer.

    28.05.2016
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..