1

私はasp.netアプリケーションで作業しています。私はドメインアセンブリ(主にコマンドとクエリコードを含む)、Domain.Contractアセンブリ(主にドメインオブジェクトを含む)、リポジトリ(ドメインによって呼び出される)、およびWebサイトを持っています。自分のドメインオブジェクトでLightswitchを使う:参照がありません

特定のバックオフィスのニーズに合わせて、Lightswitchアプリケーションを作成したいとします。現在のドメインをデータソースとして使用したいと思います。 WCF Ria Serviceクラスライブラリを追加し、RiaService.WebプロジェクトにDomainServiceに基づくクラスを1つのクエリメソッドとともに追加しました。何もない(エンティティはDomain.Contractアセンブリ内に存在しないので)

ここからの助けを借りて(私のおかげでMichael W)、私はデータソースを追加することができ、私のドメインオブジェクトを実体としてエンティティとして認識させることができましたスイッチ。

コンパイルエラーが発生しました: 'タイプまたは名前空間の名前' MyDomain 'が、グローバル名前空間に見つかりませんでした(アセンブリ参照がありませんか?)ProjectGeneratedプロジェクト。

具体的なエラーは次の行にあります。 global :: Domain.Contract.MyObject result = new global :: Domain.Contract.MyObject(); (私のDomain.Contractアセンブリで作成された)私のドメインオブジェクトの上にあります。

私は、ServerGeneratedプロジェクトにDomain.contractという参照を追加するしかありません。

ただし、Visual Studioでは表示されません。私の参照をServerプロジェクトに追加しても、エラーは解決されません。

ありがとうございました。

+1

なぜ投票が下りましたか? – Maciek

答えて

1

ソリューションエクスプローラウィンドウでServerGeneratedアセンブリを選択し、[すべてのファイルを表示]ボタンをクリックします。これにより、WCF Ria用に生成されたクライアントコードを含むすべての隠しフォルダが表示されます。

コードが生成されていない場合は、サービスの実装に問題がある(通常はコンパイルエラーが発生する)か、サービスに問題があることを意味します([EnableClientAccess]この属性を持たないサービスはクライアントコードを生成しません)。

その他には、サーバー側のriaアセンブリをホストプロジェクトに組み込み、.configファイルのWCF ria(google)を正しく設定する必要があります。

+0

ありがとう!私は、ServerGeneratedプロジェクトが多く再生されないことを願っています... – Guillaume

0

ソリューションエクスプローラウィンドウで、プロジェクトを選択して[すべてのファイルを表示]ボタンをクリックし、[論理ビューではなく] [ファイルビュー]を選択します。

プロジェクタ "ServerGenerated"(サーバープロジェクトではありません)への参照を追加してください

関連する問題