Динамическая загрузка сборок в asp.net - PullRequest
0 голосов
/ 28 марта 2011

В настоящее время я пытаюсь динамически загрузить сборку из http-обработчика asp.net.У меня есть DLL, которая создается как часть отдельной библиотеки, и мой проект содержит ссылку на указанную библиотеку DLL и развертывается вместе со службой с CopyLocal true.Я создаю одноразовый объект, чтобы получить путь сборки, и я подтвердил существование dll в папке Temporary ASP.NET Files, но вызов GetTypes () вызывает исключение.

Я делаю что-то вроде:

string assemblyPath = new SomeClassInAssembly().GetType().Assembly.Location;
Type[] types = System.Reflection.Assembly.LoadFrom(assemblyPath).GetTypes();

Я не могу добавить сборку в GAC, так как это повредит тому, что я пытаюсь сделать со службой (например, сервис песочницы, который загружает сборки при необходимости), и я не могу найти ничего, что смогло бы исправить моюПока проблема.

Для справки я использую VS 2008.

Ответы [ 2 ]

1 голос
/ 28 марта 2011

Поскольку вы компилируете свое веб-приложение со ссылкой на сборку, я не вижу необходимости загружать его с помощью Assembly.LoadFrom. GetTypes должны быть доступны с помощью:

Type[] types = typeof(SomeClassInAssembly).Assembly.GetTypes();
0 голосов
/ 28 марта 2011

Дох, я наконец-то подключился к исключению и посмотрел на LoaderMessage, и мне не хватало ссылочной сборки.

...