1

クラス ライブラリに (埋め込みリソースとして) ローカル レポートを作成しました。既存のビジネス オブジェクトをレポートのデータ ソースとして使用したいと考えています。レポート データ ツールボックスからビジネス オブジェクトを追加しようとすると、選択したいクラスが表示されません。私が気付いたのは、ビジネス オブジェクトが別のクラス ライブラリに存在する別のクラスのサブクラスである場合、それは表示されないということです。他の誰かがこれを見たことがありますか?だから私が試したのはこれです:

シナリオ 1:

クラス ライブラリ 1

  1. レポート フォルダー > Report1.rdlc
  2. BO フォルダ > MyBO および MySuperClass
  3. パブリック クラス MyBO : MySuperClass

Report1.rdlc を開き、レポート データ ツールボックスから新しいオブジェクト データ ソースを作成しようとすると、MyBO クラスが表示され、選択できます。ソリューションをこれに変更すると:

クラス ライブラリ 2 名前空間 ClassLibrary2 { public class MySuperClass { ... } }

クラス ライブラリ 1

  1. レポート フォルダー > Report1.rdlc
  2. BOフォルダ > MyBO
  3. パブリック クラス MyBO : ClassLibrary2.MySuperClass

MyBO クラスを追加しようとしても、レポート データ ツールボックスに表示されません。残念ながら、私は製品を使用しており、私のビジネス オブジェクトは、他のクラス ライブラリにあるスーパー クラスのサブクラスでなければなりません。

この問題を修正する方法を知っている人はいますか、それともバグですか? ああ、.Net 4 と VS2010 を使用しています。ありがとう。

敬具

シドハース

4

1 に答える 1

6

私は今日同じ問題を見つけ、プロジェクトがデバッグモードで64ビットとしてコンパイルされたときにデータソースウィザードが何も検出しないという事実を追跡しました。x86に切り替えると、魔法のように表示されます。ウィザードは32ビットだと思います。

私の現在の回避策は、デバッグモードをx86に設定し、リリースをx64に設定することです。このようにして、必要に応じてデータソースを編集できます。最終リリースでは、実行に問題はありません。

しかし、私はそれがサブクラスであることに依存しているとは思いませんでした。他のライブラリのデバッグがx86に設定されているため、ウィザードが機能している可能性があります。

于 2012-10-02T01:09:43.950 に答える