Erste "Rekursive Sammlung von Daten-Vertrag" beim Verweis auf einen WCF-Dienst mit einem etwas komplexere Methode

Wenn ich nur einfache Methoden, die in meinem WCF-service, alles funktioniert einwandfrei. Allerdings, wenn ich auch die folgende Methode verwenden, tritt ein problem:

[OperationContract]
public List<KeyValuePair<string, string>> GetAllAccounts()
{
    return AccountBusiness.GetAllAccounts();
}

Bekomme ich diesen Fehler beim verweisen auf den service aus einem anderen Projekt:

Warnung 5 Benutzerdefinierte tool warning: Cannot import wsdl:portType
Detail: Eine Ausnahme während der Ausführung einer WSDL-import-extension:
System.ServiceModel.Beschreibung.DataContractSerializerMessageContractimporter
Fehler: Typ " Newtonsoft.Json.Linq -.JToken' ist eine rekursive Sammlung von Daten-Vertrag wird nicht unterstützt. Ändern Sie ggf.
die definition von collection " Newtonsoft.Json.Linq -.JToken' zu entfernen
Verweise auf sich selbst.
XPath zur Fehlerquelle: //wsdl:definitions[@targetNamespace='http://tempuri.org']/wsdl:portType[@name='NodeService'] C:\inetpub\wwwroot\MyclientProject\Service
Referenzen\NodeService\Reference.svcmap 1 1 MyClientNode

Wenn ich entfernen die oben genannte Methode, kompilieren und aktualisieren Sie den Verweis, dann funktioniert es einwandfrei. Aber wenn ich die oben beschriebene Methode, die ich konsequent erhalten Sie diese Warnung.

Einen Vorschlag, den ich fand, war so deinstallieren Sie Visual Studio 2012 und reparieren Sie Visual Studio 2010. Ich will nicht, das zu tun.

Anderen vorgeschlagen die Option "Reuse types in alle referenzierten assemblys", aber das vermasselt die Methodensignaturen und ist nicht nutzbar.

InformationsquelleAutor Niels Brinch | 2012-08-22
Schreibe einen Kommentar