2016-12-13 9 views
0

svcutil.exe를 사용하여 WSDL에서 C# SOAP 웹 서비스 프록시를 생성하고 있습니다.svcutil.exe가 xs : datetime에 DateTimeOffset을 생성하지 않습니다.

WSDL의 일부 필드는 xs : datetime 유형이며 시간대 정보가 포함 된 datetimes를 반환합니다.

따라서 프록시가이 필드에 DateTimeOffset을 사용하기를 바랍니다.

svcutil.exe documentation에 따르면 C# 프록시의 DateTime 필드 대신 DateTimeOffset 필드를 생성하려면 /tcv:Version35 매개 변수를 지정하면 충분합니다.

그러나이 경우는 아닙니다. /tcv:Version35 매개 변수를 추가 할 때 변경 사항이 없습니다. WSDL의 xs : datetime 필드에 대해 C# 프록시에서 DateTime 유형의 필드를 계속 생성합니다.

대신에 DateTimeOffset 유형의 필드를 생성하는 방법에 대한 아이디어가 있으십니까?

답변

0

"/ targetClientVersion : Version35"를 추가하면 저에게 효과적입니다. 이전 버전의 svcutil.exe를 사용하고 있지 않은지 확인할 수 있습니까? 내 버전은 "Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0 Tools \ SvcUtil.exe"에 있습니다.

또한, "[KnownType이 (대해서 typeof (을 DateTimeOffset))]"데이터 계약 클래스, DateTimeOffset으로는 기본적으로 DataContractSerializer에 의해 알려진 유형 (REF https://msdn.microsoft.com/en-us/library/ms730167(v=vs.110).aspx)이 아니므로,

추가해야합니다