我刚刚从ActiveReports 2.0升级到3.0。所有rpx文件都已转换为*.vb文件。ActiveReports项目具有以下类层次结构:
带有designer -> PrintBase.vb -> ActiveReport3的*.vb
当我打开任何*.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主机)在System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost serializationManager)
然后我通过PrintBase.vb进行了检查。没有编译错误。然后,我将其中一个*.vb文件修改为:
Hello.vb -> ActiveReport3
设计师的工作没有任何问题。PrintBase有相当多的代码。为了简化调试,我创建了一个名为BasePrint的新.vb文件,该文件继承自ActiveReport3。因此,层次结构又回到了:
Hello.vb -> BasePrint -> ActiveReport3
然后我又看到了上面同样的错误。根据我的调试,AR3设计器似乎不允许.vb文件从基类继承。但我不是很确定。顺便说一句,ActiveReports项目是vb.net。在VS2008项目解决方案下还有其他C#项目。VB.NET项目和C#的混合与镜像/升级过程有什么关系吗?
谢谢。
发布于 2009-09-30 20:46:08
实际上,ActiveReports 3.x设计器中的升级实用程序不支持类样式继承。但是,在升级完成后,您应该能够将基类放在较差的位置(按照您所描述的方式),并且设计者应该安全地忽略它。如果您仍然有问题,请尝试关闭项目,进行清理(删除可能引用旧PrintBase类的旧程序集)&关闭visual studio,然后重新打开它以获得新的开始。
有关将报表从ActiveReports 2.x升级到ActiveReports 3.x的更多信息,请访问以下页面:link text
然而,在这种情况下,您似乎是在使用继承来共享一些实用方法,也可能共享一些状态(例如,在类级别的字段中)。为此,最好让您的报表直接从ActiveReport3继承,并使用"BasePrint“作为报表调用函数的一种实用程序类。通常,除了必须在方法调用前加上相应BasePrint实例/变量名的名称之外,这没有任何缺点,而且它简化了在您所描述的场景中处理ActiveReports designer的过程。
但是,ActiveReports确实支持可视化继承,允许基报表与派生报表共享控件。有关如何使用此功能的更多信息,请访问以下位置:http://www.datadynamics.com/Help/ARNET3/ar3tskInheritance.html。然而,我想强调的是,这是一种与您使用的不同的继承风格,因此它可能不适用于您需要的东西。
此外,您应该尝试在没有C#和VB项目的组合解决方案的情况下再次转换。我不知道这是一个问题,但这肯定不是转换器最常见的使用方式,可能会使事情变得复杂。
最后,您应该知道ActiveReports 6现已可用,您可能想要考虑试用该版本。
如果您仍然有任何问题,请联系我们在support@grapecity.us.com的支持团队,或者使用我们的公共表格,这些表格有许多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 Dynamicshttps://stackoverflow.com/questions/1500357
复制相似问题