1

我在类库中创建了一个本地报表(作为嵌入式资源),我想使用现有的业务对象作为报表的数据源。当我尝试从 Report Data 工具箱添加业务对象时,我看不到要选择的类。我注意到的是,如果业务对象是另一个类库中存在的另一个类的子类,那么它就不会出现。有没有其他人看到这个?所以我尝试过的是:

场景一:

类库 1

  1. 报告文件夹 > Report1.rdlc
  2. BO 文件夹 > MyBO 和 MySuperClass
  3. 公共课 MyBO : MySuperClass

当我打开 Report1.rdlc 并尝试从 Report Data 工具箱中创建一个新的对象数据源时,MyBO 类是可见的,我可以选择它。如果我将解决方案更改为此:

类库 2 命名空间 ClassLibrary2 { public class MySuperClass { ... } }

类库 1

  1. 报告文件夹 > Report1.rdlc
  2. BO 文件夹 > MyBO
  3. 公共课 MyBO : ClassLibrary2.MySuperClass

现在,当我尝试添加 MyBO 类时,它不会出现在 Report Data 工具箱中。不幸的是,我正在使用一个产品,我的业务对象必须是另一个类库中的超类的子类。

有谁知道如何解决这个问题或者这是一个错误?哦,我正在使用 .Net 4 和 VS2010。谢谢。

亲切的问候

悉达思

4

1 回答 1

6

我今天发现了同样的问题,并跟踪到当项目在调试模式下编译为 64 位时,数据源向导找不到任何东西。如果切换到 x86,它们会神奇地出现。我猜向导是 32 位的。

我目前的工作是将调试模式设置为 x86 并将发布模式设置为 x64。这样,我可以根据需要编辑数据源。最终版本运行没有任何问题。

但是,我没有看到它依赖于子类。也许您的其他库已将调试设置为 x86,因此该向导有效。

于 2012-10-02T01:09:43.950 回答