как побороть ReflectionTypeLoadException?
От: kr12  
Дата: 28.06.09 18:20
Оценка:
Если приложение загружает (плагины из) сборку содержащую класс с Field или Property типа любой структуры (struct) из MOGRE, то на вызове GetTypes возникает исключение ReflectionTypeLoadException
В других случаях всё работает. То-есть с именно wrapper-ами я не пробовал, но с плагинами имеющими зависимости проблем не было.
хост:
(MOgreDep.dll — файл плагина)
byte[] assemblyFileData = System.IO.File.ReadAllBytes("MOgreDep.dll");
      Assembly compiledAssembly = null;
      //Load the assembly
      try { compiledAssembly = Assembly.Load(assemblyFileData); }
      catch {  }

      if (compiledAssembly != null)
      {
        Type[] ts=compiledAssembly.GetTypes(); //## Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

      }


плагин:

public class Class1
  {
    Mogre.Vector2 v2;
  }


MOGRE:
(если кто не знает — это .NET wrapper OGRE, замечательная вещь..)
http://www.ogre3d.org/wiki/index.php/MOGRE

Помогите пожалуйста! Я не знаю даже где искать эти LoaderExceptions property for more information. Да и сомнительно, что это что-то даст.
Re: как побороть ReflectionTypeLoadException?
От: samius Япония http://sams-tricks.blogspot.com
Дата: 28.06.09 18:46
Оценка: +1
Здравствуйте, kr12, Вы писали:

K>Помогите пожалуйста! Я не знаю даже где искать эти LoaderExceptions property for more information. Да и сомнительно, что это что-то даст.


Это свойство возбужденного ислкючения. Поймайте исключение catch-ем, поставьте бреапоинт, загляните в это свойство возбужденного исключения. Обычно это помогает понять причину.
Re[2]: как побороть ReflectionTypeLoadException?
От: kr12  
Дата: 28.06.09 19:32
Оценка:
Спасибо. Нужно было просто добавить все связаныес MOGRE библиотеки.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.