を使用してXSDファイルからクラスを生成しながら、私は図書館で[DataMembar]
を定義している問題svcutil.exe
svcutil.exe
ツールを使用してSharing DataContracts between WCF Servicesに取り組んでいます。データ契約を共有するために、私は DataContract.dll
をDataContract.xsd
に変換しています。
コマンドの.xsdを生成した後
svcutil /dconly <my DataContractDLL path>
で、私はコマンドに
svcutil /dconly /language:CS DataContract.xsd /out:ClientDataContracts.cs
を使用してDataContract.xsd
からクラスファイルを生成していますすべてのものは、罰金行って、上記の手順で働いていました。直面
問題:
次のように私は私のDataContract.dll
ライブラリのエンティティの一つにDictionary
*タイプを追加した(つまり私はDictionary
タイプのTimeLogs
DataMember
を追加しました。)
public partial class RecordDto
{
/// <summary>
/// Gets or sets the Comment.
/// </summary>
/// <value>Insurance Company.</value>
[WcfSerialization::DataMember(Name = "InsuranceCompany", IsRequired = false, Order = 25)]
public InsuranceCompanyDto InsuranceCompany { get; set; }
[WcfSerialization::DataMember(Name = "TimeLogs", IsRequired = false, Order = 26)]
public Dictionary<String, DateTime> TimeLogs
{
get;
set;
}
}
を追加した後Dictionary
タイプ.xsd
を.cs
に変換中にエラーが発生し始めました。
Dictionary
タイプの後にエラーが表示されるのはなぜですか?
どうすれば解決できますか?
詳細をお知らせください。または任意の参照リンク –
もちろん、あなたはここでより多くのhttp://weblogs.asp.net/pwelter34/archive/2006/05/03/444961.aspxを読むことができます何らかの理由でインターフェイスIDictionaryとクラスディクショナリはシリアル化できませんxmlで辞書をシリアライズしたい場合は、シリアル化可能なDictionaryの独自の実装を作成する必要があります。プロパティDictionary TimeLogsはパブリックになりますSerializableDictionary TimeLogs –
Ginka