при выполнении 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
Ты делаешь какой-нибудь дллимпорт? - это выглядит как проблема, когда неуправляемая dll не найдена?
Первое, что нужно сделать, это убедиться, что все неуправляемые dll или exe, к которым вы обращаетесь (через dllimport), развернуты в той же папке, что и .Net exe, что вы собираете
Если источник вызывающей сборки недоступен, вы можете попробовать использовать отражатель на этой сборке для поиска дллимпортных утверждений
Кроме того, вы можете включить просмотрщик журнала сгорания для отслеживания проблем с загрузкой сборки - смотрите эту запись блога и msdn страницу для получения более подробной информации
.Реализуйте обработчик события AppDomain.AssemblyResolve. Он скажет вам, какую сборку он ищет с помощью ResolveEventArgs.Name. Если это просто попытка диагностики данной конкретной сборки, то используйте Fuslogvw.exe. Если зависание является неуправляемой сборкой, то опция DependencyWalker's Profile может показать вам, что вызов LoadLibrary() не работает. SysInternals' ProcMon тоже будет работать, но гораздо шумнее.
.