Leere Referenz.cs-Datei hinzufügen der service Referenz zur Wiederverwendung von Typen, die option ist aktiviert

Szenario

  • Visual Studio 2010
  • Silverlight 4
  • Entity Framework
  • Self-tracking Entitäten

Problem

Auf der server-Seite haben wir die generierten entity-Objekte mit Entity Framework-Modell. Wir haben self-tracking-T4-Vorlagen für die Generierung der Entitäten. Diese Einheiten sind freigegeben und können verwendet werden von der client-Seite (Silverlight 4-Projekt).

Aber wenn wir versuchen, fügen Sie einen neuen Web-Service-Referenz, die proxy-generator nicht funktionieren. Der Referenz.cs-Datei ist leer. Wir haben überprüft, die option "Reuse Types' in der Konfiguration des Web-Referenz. Wir haben geprüft, die Assemblys, die gemeinsam genutzt werden (entity nur Baugruppen).

Haben wir versucht, Sie zu entfernen, jeden (IsReference=true) aus dem DataContract-Attribute der Entitäten, aber es hat nicht funktioniert.

Irgendeine Idee oder einen workaround?

  • Nur um zu bestätigen, die datacontracts sind angegeben, die die Operationen auf dem service? Unabhängig davon, ob Sie angegeben werden, da ein DataContract, müssen Sie aufgeführt werden, wie eine ServiceOperation parameter/Antwort, bevor Sie generiert werden können durch das hinzufügen der Service Referenz auf den client soweit ich weiß.
  • Ja. Wir haben einige Methoden, die auf den Dienst. Einige von Ihnen verwenden Sie ein entity-Objekt als parameter, andere wieder entity-Objekte. Wenn wir deaktivieren Sie die Wiederverwendung von Typ-option, die proxy-generator funktioniert gut, aber es erzeugt auch die entity-Objekte auf der client-Seite, wir verlieren den gemeinsamen Versammlungen zwischen der server-Seite und client-Seite
  • Ich habe nur dieses gesehen, einmal vor und es war, als hatte ich versehentlich mit einem Verweis auf meine DAL/Service-Bibliothek auf dem client Projekt (add normalen Verweis anstelle der service-Referenz). Ich habe nur gemerkt, weil diese Art von setup hat einige seltsame Dinge, um die proxy-Klassen.
  • Dies ist ein bekanntes problem in VS, bug ist noch vorhanden in VS2008. Vielleicht VS2015 enthält einige nützliche bugfixes...
  • Überprüfen Sie das Ausgabefenster von visual studio (NICHT der ErrorList), wenn Sie versuchen, generieren die ServiceReference, sehen Sie alle Warnungen/Fehler drin?
  • Schließlich, nach einer langen Zeit darauf konnte ich arbeiten an einer Lösung. Das problem hatte ich mit meiner VS-Erweiterungen. Hatte ich noch nicht installiert, sehr merkwürdige Erweiterung, aber das problem verschwunden, wenn ich deinstalliert alle meine Erweiterungen. Danach habe ich alles neu installiert Sie und alles war ok.

InformationsquelleAutor Nadya | 2011-06-14
Schreibe einen Kommentar