6

Visual Studio 2008 (.net 3.5 sp1) によって生成された WCF サービス参照 (= クライアント プロキシ) があります。生成されたコードには、DateTimeOffset プロパティを持つデータ コントラクトが含まれているため、当然 VS は KnowTypeAttribute(System.DateTimeOffset) で装飾します。

上記のデータ コントラクトを返す WCF 操作を呼び出すたびに、次の例外が発生します。

タイプ 'System.DateTimeOffset' を既知のタイプのリストに追加できません。別のタイプ 'System.Runtime.Serialization.DateTimeOffsetAdapter' が同じデータ コントラクト名 ' http://schemas.datacontract.org/2004/07/System:DateTimeOffsetであるためです。 ' はすでに存在します

DateTimeOffsetAdapter は、DateTimeOffset オブジェクトをシリアル化するときに使用される System.Runtime.Serialization の構造体であることを理解しています。では、なぜこの例外が発生するのでしょうか?また、これを修正または回避するにはどうすればよいでしょうか?

4

2 に答える 2

0

私の場合、 Windows 7 の機能として IIS を追加するに.Net 4 をインストールしたことが原因で問題が発生したようです。

同僚と私は、昇格した (管理者として実行) コマンド プロンプトを開いて問題を修正しました。次に、次を実行しました。

cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
aspnet_regiis.exe -i

これが誰かを助けることを願っています!

于 2013-05-29T13:15:50.773 に答える