Я разрабатываю инструмент, который загружает надстройки в коммерческое программное обеспечение, которое мы используем в моем офисе. Надстройки для этого программного обеспечения могут быть разработаны путем создания сборки .NET с классами, которые наследуются от классов в API программного обеспечения.
Поэтому мое программное обеспечение должно проверять библиотеки DLL, чтобы определить, содержат ли они классы, которые наследуются от классов надстроек API по имени. Однако я не хочу, чтобы мое приложение зависело от самого API. Не нужно создавать экземпляры или выполнять какие-либо из этих классов, нужно только определить полные имена классов, которые наследуются от классов надстроек API.
Я могу загрузить сборку dll, используя:
Assembly.LoadFrom(dllFileName)
Тем не менее, когда я пытаюсь вызвать GetTypes() для загруженной сборки. Я получаю исключение ReflectionTypeLoadException с рядом исключений LoaderException, жалующихся на невозможность найти файлы API.
Я также пытался использовать ReflectionOnlyLoadFrom()
, но это вызывало то же исключение.
Есть ли другой способ получить эту информацию? Опять же, мне не нужно выполнять какой-либо код, и в конечном итоге я хотел бы, чтобы мой инструмент работал на компьютере, на котором вообще не установлен API или программное обеспечение. Все, что мне нужно знать, это полные имена классов.
dllFileName
от другихdll's
. Если да, то являются ли эти dll одним и тем же путем поиска? - person jacob aloysious   schedule 17.04.2013