.Net 4.5 Svcutil generiert zwei gleichnamige Operationen (Method und MethodAsync)

Ich benutze eine vordefinierte wsdl mit svcutil a la:

svcutil some_service.wsdl

Eine der generierten Methoden hat die folgende Signatur:

[System.ServiceModel.OperationContractAttribute(Action="http://ws.example.org/SubmitData", ReplyAction="*")]
SubmitDataResponse SubmitData( SubmitDataRequest request )

Während scvutil aus VS2010 / .net35 nur das oben Genannte generiert und VS den Dienst problemlos lanuchen kann, generiert das in VS2012 / .net45 enthaltene Programm svcutil auch eine Methode mit der Signatur

[System.ServiceModel.OperationContractAttribute(Action="http://ws.example.org/SubmitData", ReplyAction="*")]
Task<SubmitDataResponse> SubmitDataAsync( SubmitDataRequest request );

Dies führt zu einer Laufzeitausnahme:

System.InvalidOperationException: Derselbe Vertrag darf nicht zwei Operationen mit demselben Namen enthalten. Die Methoden SubmitDataAsync und SubmitData vom Typ MyType verletzen diese Regel. Sie können den Namen einer der Operationen ändern, indem Sie den Methodennamen ändern oder die Name-Eigenschaft von OperationContractAttribute verwenden.

Ich kann dies umgehen, indem ich die angehängten Async-Methoden lösche oder einfach svcutil aus VS2010 verwende. Aber ich frage mich, warum svcutil eine Schnittstelle generiert, die eine Laufzeitausnahme verursacht (ist das ein Fehler?) Und ob ich noch etwas tun soll, damit es funktioniert.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage