Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Reflection GetTypes


Автор: N1ko 28.8.2010, 21:30
Здравствуйте. Пытаюсь выполнить метод GetTypes для сборки, но постоянно выдаёт ошибку:
ReflectionTypeLoadException
Не удается загрузить один или более запрошенных типов. Обратитесь к свойству LoaderExceptions для получения дополнительных сведений.

Код

  Assembly ass = Assembly.LoadFrom(@"C:\Calculator.dll");
  ass.GetTypes();


С этим можно что то сделать?

Автор: gambit 28.8.2010, 22:38
N1ko, 
попробуй
Код

Assembly assembly = Assembly.LoadFrom(@"C:\Calculator.dll");

foreach (var module in assembly.GetModules())
        {
            foreach (var type in module.GetTypes())
            {
                  // обрабатываем полученный тип, например добавляем в коллекцию
            }
         }


 smile запомни одно из главных правил программиста - НИКОГДА не сокращай английские слова, если не знаешь как переводится сокращение

 smile блин ну почему люди не умеют выбирать раздел? Иногда такой левак в общих вопросах, для автора типа з....ло размещаться среди новичком, а здесь (и не только здесь) нормальный вопрос и в новичках))

Автор: N1ko 28.8.2010, 22:49
Так тоже не проходит. В LoaderException находится следующее сообщение 
"Невозможно загрузить файл или сборку \"Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\" или один из зависимых от них компонентов. Не удается найти указанный файл.":"Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"}
Судя по всему Calculator.dll зависит ещё от какой то сборки, которую не получается найти. 


Цитата(gambit @  28.8.2010,  22:38 Найти цитируемый пост)
 запомни одно из главных правил программиста - НИКОГДА не сокращай английские слова, если не знаешь как переводится сокращение


За это спс =) Буду стараться следовать этому правилу.

Цитата(gambit @  28.8.2010,  22:38 Найти цитируемый пост)
блин ну почему люди не умеют выбирать раздел? Иногда такой левак в общих вопросах, для автора типа з....ло размещаться среди новичком, а здесь (и не только здесь) нормальный вопрос и в новичках))


Если честно не нашёл более подходящий раздел =)

Автор: gambit 28.8.2010, 22:56
N1ko, пришли пож эту dll, если это не ком тайна конечно

Автор: N1ko 28.8.2010, 23:02
=))
http://www.codeproject.com/KB/dotnet/AssemblyLoadFile.aspx 
Там в атаче архив прикреплён.

В примере юзается GetType, а я хотел бы получить всю инфу о dll

Автор: Fortnox 29.8.2010, 09:19
N1ko, библиотека зависит от Common.dll, поэтому ее и нельзя загрузить без данной библиотеки. Либо перенесите интерфейс проекта Common в PriceCalculator, либо киньте библиотеку Common.dll в папку с вашей библиотекой.

Автор: N1ko 29.8.2010, 10:36
Спасибо большое. Тему клоуз.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)