Итерация по каталогу для * .dll файлов, поиск их и создание ссылки на сборку для каждого файла.
После того, как у меня есть отраженный объект, я перебираю все типы, доступные в каждом, из которых яХотелось бы получить пользовательские атрибуты для каждого типа в коллекции:
string[] files = Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory + "Methods", "*.dll");
foreach (string s in files)
{
Assembly asm = Assembly.LoadFile(s);
Type[] asmTypes = asm.GetTypes();
bool isCorrect = false;
foreach (Type type in asmTypes)
{
1. var customAttribs = type.GetCustomAttributes(typeof(BaseModelAttribute), false);
}
}
[Обновление]: исключение поднято в строке # 1
Этот код работает вплоть до foreach... цикл, когда я получаю исключение, говорящее, что файл не может быть найден, что странно, поскольку я создал ссылку на сборку из файла выше в блоке кода (не упоминается в коде).
[Обновление]: Эрно был прав, предполагая, что ссылка не может быть установлена.По какой-то причине base необходимо определить вне ссылочного пула (находящегося в каталоге bin), даже если это на самом деле не требуется приложению.Не имеет смысла для меня, но это работает.Благодаря.