Здесь настройка:
Чистая библиотека классов DotNET загружается неуправляемым настольным приложением. Библиотека классов действует как плагин. Этот плагин загружает небольшие собственные плагины для ребенка (все библиотеки классов DotNET), и он делает это, читая dll в память в виде байтового потока, затем
Assembly asm = Assembly.Load(COFF_Image);
Проблема возникает, когда у этих маленьких плагинов есть ссылки на другие DLL. Поскольку они загружаются через память, а не непосредственно с диска, структура часто не может найти эти ссылочные сборки и, следовательно, неспособна загрузить их.
Я могу добавить обработчик AssemblyResolver в свой проект, и я вижу, что эти ссылочные сборки выпадают. У меня есть достаточно хорошая идея о том, где найти эти ссылочные сборки на диске, но как я могу убедиться, что Assmebly я load является правильным?
Короче говоря, как я могу надежно перейти из поля System.ResolveEventArgs.Name в путь к файлу dll, предположив, что у меня есть список всех папок, где эта dll могла скрываться)?