2011-11-25 12 views
5

これはおそらく本当に単純なものです。私は、WCFサービスと消費するアプリケーションの間で情報をやりとりするために使用される[DataContract]クラスの中にいくつかのコードを作成したかったのです。共有[DataContract]クラスの移植可能なクラスライブラリ

私は新しいポータブルクラスライブラリプロジェクトを作成し、その中にmy [DataContract]クラスを作成しました。それは本当に簡単です - それはいくつかの簡単な属性(ほとんどの文字列)を持っています。 WCFサービスでDLLへの参照を追加し、再パブリッシュしました。その後、私の消費者プロジェクトからサービス参照を削除し、それを再度追加しました。それは問題はありません。

実際に使用したいときに問題が発生します。参照:タイプは「評価」と呼ばれます。 WCFメソッドの中には、この「評価」タイプを返すものがあります。だから私は私のサービス参照内のReference.csファイルに、このシリアル化されたバージョンの「Eval」を持っています。明らかに、これはちょうどシリアル化されたバージョンなので、私が探しているメソッドが含まれていません。クライアントプロジェクトにもdllを追加できますが、2つの異なるEvalオブジェクトが2つの名前空間にあり、reference.csからのものだけがサービス呼び出しから返されます。

どのように私は... erm ... 2つをマージしますか?したがって、WCFサービスコールから戻ってきたEvalオブジェクトも、問題のメソッドにアクセスできますか?

読んでいただきありがとうございました。

答えて

5

サービス参照を生成するときは、クラスを再利用する必要があるとどのようなクラスが存在し、サービス enter image description here

+1

+1ニースソリューション:) – Venemo

+0

こんにちはから生成されるべきかを指定することができます。私はおそらく少し高密度になっているかもしれませんが、ちょっと精巧にできますか?私はあなたがサービスからDLLを再利用できる場所についてあなたが話している部分を知っていることを意味しますが、私は正確に何をするのかは分かりません。私は 'EvalPortableClassLibrary'(プロジェクトの名前)のチェックボックスを持っています。私はデフォルトがすべてを再利用することを前提としていました.EvalPortableClassLibrary以外のすべてにチェックを入れたいと思います。私がそれを行うと、References.csの公開部分クラスEvalが私に与えられ、Evalのデフォルト使用法として使用されます。私は誤解したことがありますか? – user738383

+0

参照を削除し、アセンブリを除いて再度追加してください。時には参照を正しく更新しない場合があります –

関連する問題