我刚刚从 ActiveReports 2.0 升级到 3.0。所有 rpx 文件都已转换为 *.vb 文件。ActiveReports 项目具有这样的类层次结构:
*.vb 与设计器 -> PrintBase.vb -> ActiveReport3
当我打开任何 *.vb 文件时,我收到此错误:
无法为此文件显示设计器,因为无法设计其中的任何类。设计人员检查了文件中的以下类: xxx --- 无法加载基类“PrintBase”。确保已引用程序集并且已构建所有项目。
调用堆栈:在 System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument(IDesignerSerializationManager manager) 在 System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager) 在 Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad( IDesignerSerializationManager serializationManager) 在 System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost 主机)
然后我浏览了 PrintBase.vb。没有编译错误。然后我将其中一个 *.vb 文件修改为:
Hello.vb -> ActiveReport3
设计师工作没有任何问题。PrintBase 有相当多的代码。为了简化调试,我创建了一个名为 BasePrint 的新 .vb 文件,它继承自 ActiveReport3。因此,层次结构又回到:
Hello.vb -> BasePrint -> ActiveReport3
然后我又在上面看到了同样的错误。根据我的调试,似乎 AR3 设计器不允许 .vb 文件从基类继承。但我不太确定。顺便说一句,ActiveReports 项目是 vb.net。VS 2008 项目解决方案下还有其他 C# 项目。VB.NET 项目和 C# 的混合是否与迁移/升级过程有关?
谢谢。