Я пытаюсь использовать событие AppDomain.AssemblyResolve
для обработки исключений при разрешении сборок некоторой библиотеки DLL, загруженной во время выполнения ( SerializationException для динамически загружаемого типа ).
Когда событие запускается, я загружаю все библиотеки DLL в свой каталог и создаю массив Assembly
, затем я использую этот метод для получения Assembly
, содержащего указанный мной тип:
public static Assembly GetAssemblyContainingType(String completeTypeName,
Assembly[] assemblies)
{
Assembly assembly = null;
foreach (Assembly currentassembly in assemblies)
{
Type t = currentassembly.GetType(completeTypeName, false, true);
if (t != null)
{
assembly = currentassembly;
break;
}
}
return assembly;
}
Проблема в том, что этот код работает только с AssemblyQualifiedName
, а ResolveEventArgs.Name
, предоставленный событием, не так полезен.
Можете ли вы предложить мне обходной путь?
Есть ли способ передать некоторые другие аргументы событию при его запуске?