2016-06-17 5 views
0

Я использую отражение для динамического вызова методов, основанных на строковых методах и именах классов. Для этого я просматриваю все сборки, чтобы найти заданное имя класса и вызвать в нем метод. В то время как цикл через сборки как нижеОпределенные типы не найдены в 'Assembly'. Вам не хватает ссылки

foreach (var asm in AppDomain.CurrentDomain.GetAssemblies()) 
{ 
    type = asm.DefinedTypes.Where(t => string.Compare(t.Name, pTypeName, StringComparison.OrdinalIgnoreCase) == 0).FirstOrDefault(); 
    if (type != null) //If the type is found, stop looping through the assemblies 
     break; 
} 

я получаю ошибку «DefinedTypes не нашла в„Ассамблее“».

+3

Добавлен в .NET 4.5 вместе с классом TypeInfo, который сделал этот метод необходимым. Вместо этого используйте GetTypes(). –

ответ

2

Я смог решить проблему. Мой проект был нацелен на .Net 4. Когда я изменил целевую структуру на .Net 4.6, проблема была решена.