Я работаю над простым диалогом браузера классов, который позволяет пользователям открывать сборку и выбирать статический метод изнутри. Однако в некоторых ситуациях зависимости сборки отсутствуют.
Поскольку мне нужно только имя метода, а не его полный прототип, есть ли способ обойти исключение FileNotFoundException, которое возникает при вызове Assembly.ReflectionOnlyLoadFrom ? В настоящее время я обрабатываю AppDomain.ReflectionOnlyAssemblyResolve , но если я возвращаю значение null, я получаю исключение FileLoadException со следующим сообщением:
Невозможно разрешить зависимость от сборки '...', поскольку она не была предварительно загружена. При использовании API ReflectionOnly зависимые сборки должны быть предварительно загружены или загружены по требованию через событие ReflectionOnlyAssemblyResolve.
Я знаю, что это должно быть как-то возможно, потому что .NET Reflector позволяет пропускать неразрешенные зависимости. Однако я начинаю думать, что, возможно, Reflector анализирует сборки вручную, а не загружает их в CLR и использует стандартное отражение. Возможно, он использует что-то вроде Cecil из проекта Mono.