Я создаю новый appdomain для загрузки некоторых библиотек и, похоже, проблема с поиском некоторых файлов. Я использую событиеПоиск сборки системы с полным именем
ReflectionOnlyAssemblyResolve(object sender, ResolveEventArgs args)
В одном из них мероприятие было поднято с помощью сборки, указанной ниже.
System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Так будет запрошена вся необходимая сборка.
На мой вопрос дается полное имя, как я могу получить местоположение фактической библиотеки для загрузки? Если это также не обязательно, и есть другой способ загрузить библиотеки, я тоже это оценю.
PS: Основное приложение - приложение .net 4.0.
Он работает нормально. Я изменил строку следующим образом: 'var assm = Assembly.ReflectionOnlyLoad (args.Name); 'return assm; Проблема в том, что она бросает какое-то исключение для одной из библиотек. 'Правила безопасности наследования, нарушенные по типу: 'System.Web.Mvc.CompareAttribute'. Производные типы должны либо соответствовать безопасности доступности базового типа, либо быть менее доступными. ' – ritcoder
Сборка может быть уже загружена в AppDomain с различными настройками безопасности. В этом случае вы можете попробовать проверить AppDomain.GetAssemblies() и сравнить полные имена. –
Не работает. У меня такая же ошибка. Из точек останова, которые я установил, кажется, что событие не возникает, если сборка уже загружена. – ritcoder