私は 2010 年に実用的なソリューションを持っていましたが、2012 年に移行しましたが、Silverlight プロジェクトで WCF サービスへの参照を変更しない限り、問題なく機能していました。
以前は問題なく動作していたクラスで次のエラーが発生しています。コードを作業バージョンにロールバックして、SL プロジェクトのサービス参照を更新し、ビルドを押してみました。
前にビルドしますが、後でビルドしません。すべてが機能しており、コレクションがサーバーとクライアントの間で問題なく送信されていることに注意してください。
完全なエラー テキストは次のとおりです。
Warning 134 Custom tool warning: Cannot import wsdl:portType Detail: An exception was thrown while running a WSDL import extension:
System.ServiceModel.Description.DataContractSerializerMessageContractImporter エラー: タイプ 'MyAssembly.ResultTreeDto' は、サポートされていない再帰的なコレクション データ コントラクトです。コレクション「MyAssembly.ResultTreeDto」の定義を変更して、それ自体への参照を削除することを検討してください。
どんな助けでも大歓迎です。念のため: クラスは再帰的と見なすことができます。ここにサンプル コードを示します。
public class ResultTreeDto
{
public List<ResultTreeDto> Leafs { get; set; }
.....
正直ショックです。この更新サービスの参照ボタンを押すと、あまりにも多くのトラブルが発生します。
問題が SL のみに関連しているかどうかはわかりません。エラーから、SL だけではないように思えます。
前回の更新サービスの参照呼び出し以降、何が問題になった可能性がありますか? どこから調べればよいのか本当にわかりません。