1

私はasp.netアプリケーションに取り組んでいます。ドメインアセンブリ(主にコマンドとクエリコードを含む)、Domain.Contractアセンブリ(主にドメインオブジェクトを含む)、リポジトリ(ドメインによって呼び出される)、およびWebサイトがあります。

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

ここからのヘルプを使用して(Michael Wに感謝)、データソースを追加し、ドメインオブジェクトをライトスイッチのエンティティとして認識させることができました。

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

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

したがって、私が行う必要があるのは、ServerGeneratedプロジェクトに参照doDomain.contractを追加することだけのようです。

ただし、VisualStudioには表示されません。サーバープロジェクトへの参照を追加しても、エラーは修正されません。

ありがとう。

4

2 に答える 2

1

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

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

他に確認すべきことは、ホスト プロジェクトにサーバー側の ria アセンブリを含め、.config ファイルに WCF ria の正しい構成を含めることです (google に問い合わせてください)。

于 2011-07-14T08:32:36.653 に答える
0

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

次に、プロジェクト「ServerGenerated」への参照を追加します (サーバー プロジェクトではありません)。

于 2011-08-09T15:36:10.703 に答える