Я отлаживаю проблему загрузки сборки, поэтому я просматриваю журналы сварки. Иногда они путают меня, потому что они начинаются с указания сбоя, а затем в конце говорят, что сборка загружается с того места, где я ожидаю, что она будет загружена.Что это за журнал Fusion?
Что означает «Не удалось выполнить операцию», за которым следует «сборка IL, загруженная из ...»? Не удалось загрузить сборку или не удалось?
*** Assembly Binder Log Entry (2012-03-16 @ 10:25:14) ***
The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.
Assembly manager loaded from: C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable C:\Program\MyCorp\MyApplication1.2.0.0\MyApplication.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = VIRTUALXP-63912\XPMUser
LOG: DisplayName = MyCorp.MyApplication.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
(Fully-specified)
LOG: Appbase = file:///C:/Program/MyCorp/MyApplication1.2.0.0/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = MyApplication.exe
Calling assembly : MyApplication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
===
LOG: Start binding of native image MyCorp.MyApplication.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
WRN: No matching native image found.
LOG: IL assembly loaded from C:\Program\MyCorp\MyApplication1.2.0.0\MyCorp.MyApplication.Core.dll.
Я также вижу этот вид бревна для сборки, даже если программа завершается с указанием can't load file or assembly SomeAssembly or one of its dependencies
. Соответствующая сборка загружается согласно записи в журнале, аналогичной приведенной выше.
Означает ли это, что родная зависимость сборки не найдена? Нужно ли мне изменять параметры журнала, чтобы узнать, какая из этих зависимостей не работает, или что-то еще я могу сделать?
Является ли это весь журнал? Из того, что я вижу, не было сбоя (поскольку был найден собственный образ «MyCorp.MyApplication.Core», была найдена управляемая версия, которая была найдена. – Oded
Это журнал для одной конкретной DLL. Эта dll - управляемая dll , и он успешно загружается, насколько мне известно. Поэтому я задаюсь вопросом, что «не удалось». –
Ищите еще одну запись в журнале, которая показывает отказ привязки для «одной из его зависимостей». ProcMon SysInternals может показать вам, что он ищет неуправляемая DLL, если это причина. Игнорировать «не найдено совпадающего исходного изображения», это нормально. –