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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Deaktivieren der "Reuse Types" für mich gearbeitet. Der code-generator geht die Objekt-Diagramm der Abhängigkeiten und wenn es trifft auf jedes problem, wie ein Verweis nicht gefunden wird, dann ist es explodiert und produziert keine code in der Referenz.cs.
Dies kann auftreten, wenn die Versammlung Ihr versuchen zu teilen kompiliert wird, gegen ein höheres .NET-Plattform.
Zum Beispiel, wenn Sie Ihr Projekt ausgerichtet ist .NET 3.5 und die assembly kompiliert 4.0 wird dies geschehen.
Haben Sie die option aktiviert
Reuse Types
? Versuchen Sie, deaktivieren Sie die optionReuse Types