Was hat das WCF-Fehler bedeutet: "Custom tool warning: Cannot import wsdl:portType"

Erstellte ich einen WCF service library-Projekt in meiner Lösung und service-Verweise auf diese. Ich die Leistungen aus einer Klassenbibliothek, so habe ich Referenzen aus meiner WPF-Anwendung-Projekt-neben der Bibliothek-Klasse. Services sind festlegen von gerade nach vorne - nur geändert zu bekommen async-service-Funktionen.

Alles gut funktioniert - bis ich wollte zu aktualisieren, mein service-Verweise. Es ist fehlgeschlagen, so dass ich schließlich zurückgesetzt und erneut versucht, aber es scheiterte dann auch! So aktualisieren Sie die service-Referenzen schlägt fehl, ohne jegliche änderungen. Warum?!

Den Fehler den ich bekomme, ist diese:

Custom tool error: Failed to generate code for the service reference 
'MyServiceReference'.  Please check other error and warning messages for details.   

Die Warnung gibt weitere Informationen:

Custom tool warning: Cannot import wsdl:portType
Detail: An exception was thrown while running a WSDL import extension: 
System.ServiceModel.Description.DataContractSerializerMessageContractImporter
Error: List of referenced types contains more than one type with data contract name 'Patient' in  
namespace 'http://schemas.datacontract.org/2004/07/MyApp.Model'. Need to exclude all but one of the 
following types. Only matching types can be valid references: 
"MyApp.Dashboard.MyServiceReference.Patient, Medski.Dashboard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" (matching)
"MyApp.Model.Patient, MyApp.Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" (matching)
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='ISomeService']

Gibt es zwei ähnliche Warnungen zu sagen:

Custom tool warning: Cannot import wsdl:binding
Detail: There was an error importing a wsdl:portType that the wsdl:binding is dependent on.
XPath to wsdl:portType: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='ISomeService']
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='WSHttpBinding_ISomeService']  

Und das gleiche für:

Custom tool warning: Cannot import wsdl:port .. 

Ich finde das alles verwirrend.. ich habe nicht einen Patienten der Klasse auf der client-Seite Dashboard-außer die, die ich bekam durch die service-Referenz. Also, was bedeutet es? Und warum funktioniert es plötzlich? Denken Sie daran: ich hatte nicht einmal etwas ändern!

Nun, die Lösung war gefunden hieraber ohne Erklärung, was dies bedeutet. Also, in der "Configure service reference" für den Dienst, den ich deaktivieren Sie die "Wiederverwendung Typen der referenzierten Assemblys". Wiederaufbau jetzt ist es alles funktioniert ohne Probleme. Aber was habe ich wirklich ändern? Wird dies eine Auswirkung auf meine Bewerbung? Und Wann sollte man dies deaktivieren? Ich will, dass die Wiederverwendung der Typen, die ich eingerichtet habe DataContract auf, aber nicht mehr. Bekomme ich immer noch Zugriff auf diese, ohne dies überprüft?

InformationsquelleAutor der Frage stiank81 | 2009-12-09

Schreibe einen Kommentar