2

WCF サービスでこのエラーが発生しています。これは、Microsoft Service Trace Viewer を使用してエラーの詳細を表示したときに表示されるエラー レポートです。

WSDL インポート拡張機能の実行中に例外がスローされました: System.ServiceModel.Description.DataContractSerializerMessageContractImporter エラー: 参照された型のリストには、名前空間 ' http://schemas.datacontract.org/2004にデータ コントラクト名 'EchoAddress' を持つ複数の型が含まれています/07/WorldVision.NewZealand.CIMS.Common.Entities '. 次のタイプの 1 つを除くすべてを除外する必要があります。一致するタイプのみが有効な参照になることができます。 、Version=0.0.0.0、Culture=neutral、PublicKeyToken=null" (一致)

[DataContract] 属性を使用して WCF DataContracts として定義した「EchoAddress」という 2 つの別個のクラスがあり、どちらも WorldVision.NewZealand.CIMS.Common.Entities 名前空間に存在するようです。確認しましたが、そうではありません。このエラーには、次のいずれかのタイプを除外する必要があることも示されています。

CIMS.CrmService.EchoAddress CIMS.AddressService.EchoAddress

しかし、WorldVision.NewZealand.CIMS.Common.Entities 名前空間で 'EchoAddress' クラスを 1 回だけ宣言します。これらは、「CrmService」と「AddressService」の両方で同じタイプ (EchoAddress) への参照であるように見えます。これらは、メイン プロジェクトから「サービス参照」として参照している 2 つの別個の WCF サービスです。

これは EchoAddress クラスの型宣言であり、別のプロジェクトで宣言され、実際の WCF サービスを含むプロジェクトによって参照されます。私の主なプロジェクトは、サービスをサービス参照として参照します。

[DataContract]
public class EchoAddress
{
    [DataMember]
    public string AddressType { get; set; }
    [DataMember]
    public Dictionary<string,string> AddressLines { get; set; }

    ...
}

私は次のことを試しました:

何か案は?

4

1 に答える 1

1

サービスの複雑さが増すと、このようなさまざまな不可解な問題が発生したため、サービス参照の追加方法から完全に移行しました。その理由は、コントロールの欠如、グロート、エラーでした。主に.networldのサービスを使用している場合は、次のビデオをご覧ください

http://www.dnrtv.com/default.aspx?showNum=122

これにより、多くの内部情報が得られ、wcfの問題をデバッグするのに役立ちます。一度移動すると、二度と戻ってこないでしょう!

于 2012-09-26T04:03:42.750 に答える