I am working on a simple class browser dialog that allows users to open an assembly and choose a static method from within. However, there are some situations where the assembly's dependencies are missing.
Since I only need the method name and not its full prototype, is there any way to get past the FileNotFoundException that is raised when calling Assembly.ReflectionOnlyLoadFrom? I am currently handling AppDomain.ReflectionOnlyAssemblyResolve but if I return null then I get a FileLoadException with the following message:
Cannot resolve dependency to assembly '...' because it has not been preloaded. When using the ReflectionOnly APIs, dependent assemblies must be pre-loaded or loaded on demand through the ReflectionOnlyAssemblyResolve event.
I know this must be possible somehow because .NET Reflector allows you to skip unresolved dependencies. However I'm starting to think that maybe Reflector parses the assemblies manually rather than loading it into the CLR and using standard reflection. Perhaps it uses something like Cecil from the Mono project.