WCF サービス リファレンスは既存のアセンブリの型を再利用しません (VS 2010 Beta 2)
-
20-09-2019 - |
質問
WCF サービスとクライアントの間で型 (プロキシではなく実際のクラス) を共有するための最良のアプローチを探しています。そのために、サービスとクライアントの両方が参照する別のアセンブリでクラスを定義しました。クライアントでサービス参照を生成するときに「参照されるすべてのアセンブリで型を再利用する」を選択しましたが、References.cs はすべてのクラスのプロキシを使用して生成されます。
これは次の質問とまったく同じです これです, 、しかし、受け入れられた解決策を実装する方法がわかりません。1 つの違いは、VS 2010 Beta 2 を使用していることです。
完全なサービス契約をコード形式でインポートします
または
独自の ClientBase 派生クラスを作成します。本当にとても簡単です
これが最良のアプローチであると仮定すると、その方法を説明した適切なリンクをいただければ幸いです。リンクされた回答で概説されているアプローチは最良のものですか?
解決
同じステップで 2 つのことを実行しました。どちらかまたは両方で問題が解決されたかどうかはわかりません:
- [DataContract(Namespace="My.Shared.Assemblys.Namespace")] を追加しました 1つ 共有アセンブリ内のクラスの数。
- VS 2010 ベータ 2 を再開しました
他のヒント
は、同じ問題を持っていたが、私はクライアントのためにDataContractsでアセンブリを構築するために忘れてしまったので、それはそれ自身の契約を生成していました。私は、アセンブリを再構築したら - それはそれらを再利用
。 VS2010のSP1と私の問題は、Dictionary<T,U>
属性でCollectionDataContract
から派生したクラスを使用しようとしていました。 VSタイプを再利用しないようだ...私はまた、上記のエリックの提案を試みたが、それはうまくいきませんでした。