Ошибка System.Reflection.Assembly.LoadFile (Советы?) - PullRequest
1 голос
/ 17 декабря 2010

Я работаю над внутренним инструментом для получения информации о моих собственных управляемых библиотеках. Для загрузки dll я использую System.Reflection.Assembly.LoadFile. С некоторыми из DLL я получил исключение:

"ClassName": "System.NullReferenceException"; "Сообщение": "Ссылка на объект не установлена ​​для экземпляра объекта.";

Но эти библиотеки работают хорошо, и их можно загружать в приложениях. Все зависимости находятся в одном каталоге. Любые советы?

Большое спасибо !!!

P.S. Такое исключение происходит с методом System.Reflection.Assembly.LoadFrom;

Ответы [ 2 ]

2 голосов
/ 17 декабря 2010

LoadFile загрузить сборку для выполнения в текущем домене приложений. (Некоторые) статические конструкторы могут быть выполнены и оценены пользовательские атрибуты класса. В этих случаях часть вашего кода может быть выполнена; таким образом, NullReferenceException может исходить из вашего кода. Исключение StackTrace, вероятно, покажет источник.

Изменить: Если вы хотите получить информацию о сборке без выполнения ее статических конструкторов или оценки атрибутов, вы можете посмотреть методы Assembly.ReflectionOnlyLoad *.

1 голос
/ 17 декабря 2010

Мммм ... Я не уверен, имеет ли это смысл, но, может быть, это неуправляемые библиотеки DLL или вам не хватает необходимых прав на файл?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...