Visual Studio 2008には、boolやstringなどのプリミティブ型を返す約12のメソッドを含むWCFサービスプロジェクトがあります。公開されたWCFサービスを参照するVisual Studioユニットテストプロジェクトもあります。すべての戻り値の型がプリミティブである場合、テストプロジェクトは正常にコンパイルされます。カスタムクラスを返すWCFサービスは、Reference.csのエラーを生成します。
カスタムクラスを返すサービスに新しいメソッドを追加し、それを公開し、テストプロジェクトでサービス参照を更新すると、コンパイルされません。エラーは次のとおりです。 -
- タイプ 'PublisherFaultException'には 'Reason'の定義が含まれています。
- タイプ 'PublisherFaultException'にはすでに 'PropertyChanged'の定義が含まれています。
- タイプ 'Publisher.Test.LibraryReference.PublisherFaultException'は、同じパラメータタイプを持つ 'RaisePropertyChanged'というメンバーを既に定義しています。
すべてが自動生成されたreference.csファイルにあります。
Page GetItem(string path);
とPageクラスはのDataContract属性を持っており、それはパブリックプロパティがデータメンバーの属性を持っています - :
WCFサービスの方法のための契約があります。
私は、このサービスを更新するたびにこれを行う必要があるため、Reference.csファイルを変更するのは嫌です。
これはなぜ起こっているのですか?
スチュアート。
何が起こっているのは、WCFサービス参照の参照が雌犬であることです。あなたの痛みを感じます。 – JohnIdol
svcutilを使用してプロキシを生成しようとしましたか?私は前にこの問題を抱えていたことを覚えています.FaultContract属性を使用してカスタム障害例外を作成していたときでした。私は解決策を覚えていない。だからうまくいけば私のコメントが助けになるかも私は掘り起こし続け、私が解決策を見つけることができるかどうかを見ていきます。 SvcUtil.exeを試して、何が起こっているかを見て、私たちに知らせてください。 – CkH