2017-01-10 4 views
0

Ich habe eine VS2013 C# .net 4.0-Lösung und eines der C# -Projekte (Konsolenanwendung) hat einen Ordner namens "Service-Referenzen". Im Ordner gibt es zwei UnterordnerHinzufügen einer vorhandenen Servicereferenz zu einem neuen Projekt in einer neuen Lösung

One is : MyReference1, it has files of 
    configuration.svcinfo 
    configuration91.svcinfo 
    MyApplication1.disco (web service Discovery File) 
    MyApplication2.wsdl (web service description language) 
    Reference.cs (Visual C# source file) 
    Reference.svcmap 

Another one is: MyReference2, it has files of 
    configuration.svcinfo 
    configuration91.svcinfo 
    MyApplication3.wsdl 
    MyApplication4.disco 
    MyApplication4_1.xsd 
    MyApplication4_2.xsd 
    MyApplication4_3.xsd 
    MyProject.MyReference.JobStatus.datasource (visual studio data source file) 
    Reference.cs 
    Reference.svcmap 

nun aus irgendwelchen Gründen, ich habe ein neues Projekt in einer neuen Lösung (von VS2013 C# .net 4.0) mit exakt gleichen Leistungen wie die oben einer Referenz erstellen zu können .

Nachdem ich eine neue Lösung und ein neues Projekt erstellt habe (das die gleiche Eigenschaft wie oben hat), habe ich versucht, die obigen Dateien in den obigen Unterordnern in mein neues Projekt einzufügen. Ich habe einen neuen Ordner namens "Service References" und die Unterordner mit dem gleichen Namen wie oben erstellt. Aber, wenn ich bauen das Projekt, ich habe die Fehler, zum Beispiel

In Reference.svcmap:

Error 1 Custom tool error: Failed to generate file: The system cannot find the file specified. (Exception from HRESULT: 0x80070002) C:\MyPATH\MyProject\serviceReference\MyReference2\Reference.svcmap

In Reference.cs

Error 5 The type or namespace name 'ServiceModel' does not exist in the namespace 'System' (are you missing an assembly reference?) C:\MyPATH\MyProject\serviceReference\MyReference1\Reference.cs (the file was auto-generated by a tool)

Der Unterschied zwischen dem Ordner " Service-Referenzen "in meinem Projekt und im alten Projekt ist, dass Sie nur zwei Unterordner-Namen unter" Service-Referenzen "im alten Projekt sind und keine Dateien innerhalb des Ordners im Projekt angezeigt werden. Aber in meinem Projekt werden alle Dateien angezeigt, weil ich sie als existierende Elemente hinzugefügt habe.

Wenn ich das Projekt rechts geklickt und Dienstverweis hinzufügen, indem Sie den Pfad einfügen (wo die „Service Referenzen“ befindet) in das Feld „Adresse“ Teil habe ich Fehler:

There was an error downloading 'C:\MyPath\Service References'.

Access to the path 'C:\djx_2014_6_3\MyPath\Service References' is denied.

If the service is defined in the current solution, try building the solution and adding the service reference again.

ich das VS2013 laufen als Administrator.

So fügen Sie Serviceverweise korrekt hinzu?

Antwort

0

Fügen Sie diese Ordner dem Projekt nicht als Dateien hinzu.

Sie müssen mit der rechten Maustaste auf Projekt -> Hinzufügen ... -> Service-Referenz und dann Pfad zur WSDL-Datei einfügen. Tun Sie dies für jeden Dienst.

Auch wenn Ihre beiden Projekte in einer Lösung sind, können Sie einfach einen Verweis auf ein Projekt hinzufügen, das diese Dienste enthält, und generierter Code wird zwischen Projekten geteilt. Klicken Sie mit der rechten Maustaste auf Projekt -> Hinzufügen ... -> Referenz -> Lösung und prüfen Sie das Projekt, das die Services enthält.

+0

als ich den .wsdl-Dateipfad zum Adressfeld in Service hinzufügen hinzugefügt und "Go" gedrückt, und dann Ok, habe ich Fehler: "" kann die aktuelle Datei auschecken, Die Datei kann gelesen werden- nur oder gesperrt, oder Sie müssen die Datei möglicherweise manuell überprüfen. " – Lily

+0

Es scheint, dass Sie immer noch" Service-Referenz "Ordner in Projekten enthalten und Visual Studio den Zugriff darauf blockieren. Versuchen Sie, VS zu schließen, Ordner aus dem Lösungskatalog zu entfernen, Öffnen Sie dann VS, entfernen Sie den Ordner aus dem Lösungsexplorer (er löscht ihn in der .csproj-Datei), fügen Sie erneut hinzu -> Dienstreferenz -> Pfad zu wsdl (wsdl zu diesem Zeitpunkt nicht im Lösungsverzeichnis) scratch – Anton

+0

Haben diese Dienste eine Adresse, klicken Sie mit der rechten Maustaste auf den Dienst und wählen Sie die Option "Dienstreferenz konfigurieren ..." Wenn Sie hier eine Adresse finden, befolgen Sie diese, um die Schritte zu befolgen nicht von Anton –

Verwandte Themen