DateTimeOffsetオブジェクトのWCFのシリアライズに干渉DateTimeOffsetAdapter
-
21-08-2019 - |
質問
私は、Visual Studio 2008(.NET 3.5 SP1)によって生成されたWCFサービス参照(=クライアントプロキシ)を持っています。生成されたコードはとても自然にVSがKnowTypeAttribute(System.DateTimeOffset)とそれを飾られたDateTimeOffsetプロパティを持つデータコントラクトが含まれています。
私は、私は次の例外を上記データコントラクト取得返しWCFの操作を起動するたびます:
型「System.DateTimeOffset」にすることはできません 以来、既知のタイプのリストに追加 別のタイプ 'System.Runtime.Serialization.DateTimeOffsetAdapter' 同じデータコントラクト名を持ちます 「 http://schemas.datacontract.org/2004/07/System:DateTimeOffset」 既に存在している。
私はDateTimeOffsetAdapterはのDateTimeOffsetオブジェクトをシリアル化するときに使用されるSystem.Runtime.Serializationで構造体であることを理解しています。では、なぜそれが、これは、固定または回避することができますどのようにこの例外が発生していますか?
解決
私の場合は問題は、Windows 7への機能としてIISを追加するには、.NET 4インストール前ののを持つ由来するように見えた。
の同僚と私は高い(管理者として実行)コマンドプロンプトを開いて、問題を修正しました。その後、次の走っます:
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
aspnet_regiis.exe -i
これは誰かに役立ちます願っています!
他のヒント
私は理由を知りません。しかし、問題を解決するためには、.NET Frameworkバージョン4
にプロジェクトを移行しよう