Задача
Похоже, что MS удалила поддержку вложенных бизнес-объектов в своем компоненте Report Viewer 2010. Мы хотели бы обновить наше веб-приложение, чтобы использовать новые функции, но нам нужно поддерживать обратное сравнение для множества устаревших отчетов.
Предостережения
1: Мы не можем поместить что-либо в GAC, поскольку мы находимся на размещенном общем веб-сервере.
2: Мы находимся в VB, поэтому кажется, что мы не можем использовать псевдонимы (я думаю, что это функция c #), поэтому мы вообще не можем добавлять ссылки в VS, или мы получаем конфликт пространства имен или ссылка уже существует.
3: DLL веб-компонента отчета сам по себе зависит от двух других новых библиотек (например, common.dll и processing.dll)
4. Компонент отчета должен запускаться в главном домене приложения в данный момент (используя ExecuteReportInCurrentAppDomain), например, когда он обращается к бизнес-объектам, они проверяют роли безопасности и т. Д., И это, похоже, не работает, если средство просмотра отчетов работает в другом домене приложения. , Это, вероятно, можно обойти.
Подход до сих пор
Используйте activator.createinstance или аналогичный метод отражения и поместите новые библиотеки в подпапку каталога bin. Я слышал, что это все равно не будет работать, так как веб-узел не сможет найти другие библиотеки DLL (общие и обрабатывающие), от которых он зависит.
Возможны другие идеи
Создайте новый проект C #, который управляет выбором.