Ошибка обновления ActiveReports

Я только что обновился с ActiveReports 2.0 до 3.0. Все файлы rpx были преобразованы в файлы *.vb. Проект ActiveReports имеет следующую иерархию классов:

*.vb с дизайнером -> PrintBase.vb -> ActiveReport3

Когда я открыл любой из файлов *.vb, я получил эту ошибку:

Конструктор не может быть показан для этого файла, потому что ни один из классов в нем не может быть спроектирован. Разработчик проверил следующие классы в файле: xxx --- Не удалось загрузить базовый класс PrintBase. Убедитесь, что на сборку есть ссылка и что все проекты построены.

Стек вызовов: в System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument (менеджер IDesignerSerializationManager) в System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad (менеджер IDesignerSerializationManager) в Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad( IDesignerSerializationManager serializationManager) в System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad (хост IDesignerLoaderHost)

Затем я прошел через PrintBase.vb. Ошибки компиляции не было. Затем я изменил один из файлов *.vb на это:

Hello.vb -> ActiveReport3

Конструктор работал без проблем. В PrintBase довольно много кода. Чтобы упростить отладку, я создал новый файл .vb с именем BasePrint, который наследуется от ActiveReport3. Итак, иерархия возвращается к:

Hello.vb -> BasePrint -> ActiveReport3

Затем я снова увидел ту же ошибку выше. Похоже, что дизайнер AR3 не позволяет файлам .vb наследоваться от базового класса в соответствии с моей отладкой. Но я не совсем уверен. Кстати, проект ActiveReports — vb.net. Существуют и другие проекты С# в рамках проектного решения VS 2008. Является ли смешивание проектов VB.NET и С# чем-либо для процесса миграции/обновления?

Спасибо.


person Roger    schedule 30.09.2009    source источник


Ответы (1)


Действительно, наследование в стиле классов не поддерживалось утилитой обновления в дизайнере ActiveReports 3.x. Однако после завершения обновления вы сможете сделать базовый класс плохим (так, как вы описали), и дизайнер должен безопасно игнорировать его. Если у вас все еще есть проблемы, попробуйте закрыть проект, выполнить очистку (удалить старые сборки, которые могут ссылаться на старый класс PrintBase), закрыть визуальную студию и снова открыть ее, чтобы начать все заново.

Дополнительную информацию об обновлении отчетов ActiveReports 2.x до ActiveReports 3.x можно найти на следующей странице: текст ссылки

Однако похоже, что в этом случае вы используете наследование, чтобы поделиться некоторыми служебными методами и, возможно, некоторым состоянием (например, в полях уровня класса). Для этого лучше всего, если ваши отчеты наследуются непосредственно от ActiveReport3 и используют «BasePrint» как своего рода служебный класс, в котором функции вызова ваших отчетов. соответствующее имя экземпляра/переменной BasePrint и упрощает работу с конструктором ActiveReports в описанном вами сценарии.

Однако ActiveReports поддерживает визуальное наследование, которое позволяет базовому отчету совместно использовать элементы управления с производным отчетом. Дополнительную информацию об использовании этой функции можно найти по следующему адресу: http://www.datadynamics.com/Help/ARNET3/ar3tskInheritance.html. Однако я хочу подчеркнуть, что это другой стиль наследования, чем вы используете, поэтому он может быть неприменим к тому, что вам нужно.

Кроме того, вам следует попытаться выполнить преобразование еще раз, не имея комбинированного решения с проектами C# и VB. Я не знаю, является ли это проблемой, но это, безусловно, не самый распространенный способ использования преобразователя и может усложнять ситуацию.

Наконец, вы должны знать, что теперь доступна версия ActiveReports 6, и вы можете захотеть попробовать эту версию.

Если у вас по-прежнему возникают какие-либо проблемы, свяжитесь с нашей службой поддержки по адресу [email protected] или воспользуйтесь нашими общедоступными формами, которые каждый день отслеживают многие эксперты ActiveReports, по следующим ссылкам:

http://www.datadynamics.com/forums/73/ShowForum.aspx - Форум ActiveReports 3 http://www.datadynamics.com/forums/82/ShowForum.aspx - Форум ActiveReports 6

Scott Willeke
GrapeCity / Data Dynamics
person Scott Willeke    schedule 30.09.2009