Процедура, импортированная {myassembly}, не могла быть загружена

при выполнении prorgam кажется, что я пропускаю библиотеку, когда я запускаю вывод своего проекта, я получаю исключение при запуске.

A first chance exception of type 'System.IO.FileLoadException' occurred in mscorlib.dll
An unhandled exception of type 'System.IO.FileLoadException' occurred in mscorlib.dll

Additional information: A procedure imported by 'my assembly, Version=xx.1.1.0, Culture=neutral, PublicKeyToken=7292581204d9e04a' could not be loaded.

'ScriptX.vshost.exe' (Managed): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\System.Configuration\2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll', No symbols loaded.

Мой вопрос: как может я определять, какая библиотека отсутствует, потому что в этой точке я не вижу, что значения передали:

mscorlib.dll!System.AppDomain.ExecuteAssembly(string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args) + 0x3a bytes    
23
задан BlueTrin 22 December 2009 в 10:49
поделиться

2 ответа

Ты делаешь какой-нибудь дллимпорт? - это выглядит как проблема, когда неуправляемая dll не найдена?

Первое, что нужно сделать, это убедиться, что все неуправляемые dll или exe, к которым вы обращаетесь (через dllimport), развернуты в той же папке, что и .Net exe, что вы собираете

Если источник вызывающей сборки недоступен, вы можете попробовать использовать отражатель на этой сборке для поиска дллимпортных утверждений

Кроме того, вы можете включить просмотрщик журнала сгорания для отслеживания проблем с загрузкой сборки - смотрите эту запись блога и msdn страницу для получения более подробной информации

.
8
ответ дан 29 November 2019 в 02:22
поделиться

Реализуйте обработчик события AppDomain.AssemblyResolve. Он скажет вам, какую сборку он ищет с помощью ResolveEventArgs.Name. Если это просто попытка диагностики данной конкретной сборки, то используйте Fuslogvw.exe. Если зависание является неуправляемой сборкой, то опция DependencyWalker's Profile может показать вам, что вызов LoadLibrary() не работает. SysInternals' ProcMon тоже будет работать, но гораздо шумнее.

.
4
ответ дан 29 November 2019 в 02:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: