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