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