Я пытаюсь загрузить несколько модулей, подключившись к событиям AppDomain.AssemblyResolve
и AppDomain.ReflectionOnlyAssemblyResolve
. В то время как я заставил первого работать, я с треском провалился на втором. Я свел мою проблему к этой маленькой программе:
public static class AssemblyLoader
{
static void Main(string[] args)
{
AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve +=
ReflectionOnlyAssemblyResolve;
// fails with FileNotFoundException
Assembly.ReflectionOnlyLoad("Foo");
}
public static Assembly ReflectionOnlyAssemblyResolve(object sender,
ResolveEventArgs args)
{
Trace.TraceInformation(
"Failed resolving Assembly {0} for reflection", args.Name);
return null;
}
}
Запуск этой программы завершается с ошибкой FileNotFoundException
при попытке Assembly.ReflectionOnlyLoad
, но он не вызывает обработчик ReflectionOnlyAssemblyResolve. Я там довольно тупой.
Кто-нибудь имеет представление, что может быть причиной этого и как заставить это работать?
Спасибо!