2009-07-01 15 views
6

Mam odwołanie do usługi WCF (= proxy klienta) generowane przez Visual Studio 2008 (.net 3.5 sp1). Wygenerowany kod zawiera umowę danych z właściwościami DateTimeOffset, więc naturalnie VS ozdobił ją funkcją KnowTypeAttribute (System.DateTimeOffset).DateTimeOffsetAdapter interferujący z serializacją WCF obiektów DateTimeOffset

Ilekroć wywołać operację WCF, która zwraca wyżej wymienioną umowę danych, pojawia się następujący wyjątek:

Type „System.DateTimeOffset” nie może być dodany do listy znanych typów od inny rodzaj 'System.Runtime.Serialization.DateTimeOffsetAdapter' z nazwą zamówienia same dane 'http://schemas.datacontract.org/2004/07/System:DateTimeOffset' jest już obecny

Rozumiem, że DateTimeOffsetAdapter jest struct w System.Runtime.Serialization, który jest używany podczas serializacji obiektów DateTimeOffset. Dlaczego więc powoduje to wyjątek i jak można to naprawić lub uniknąć?

+2

Do tego nie doszło. – Paxenos

+0

Czy ktoś zna odpowiedź? –

+0

@urig: Co zrobiłeś, aby rozwiązać ten problem? – billybob

Odpowiedz

0

W moim przypadku problem wydawał się wynikać z konieczności .Net 4 zainstalowane uprzedniej dodaniem IIS jako element do systemu Windows 7.

Rozwiązaliśmy problem z koleżanką, otwierając wiersz polecenia "Uruchom jako administrator". Następnie uruchomiono:

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

Mam nadzieję, że to komuś pomaga!

+1

W ścieżce jest błąd: Powinien być 'C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319' – billybob

+0

@billybob: Zaktualizowany - dzięki za wykrywanie – killercowuk

0

Nie wiem dlaczego. Ale do rozwiązania problemu spróbuj przenieść projekt do wersji .NET Framework 4

Powiązane problemy