Wo ist svcutil.exe in Windows 7?


104

Für meine WCF muss ich eine Konfigurationsdatei für meine Clientanwendung generieren, um beispielsweise die Bindung des Dienstes, die Adresse des Dienstes und den Vertrag anzugeben.

Antworten:


148

Geben Sie Folgendes ein Microsoft Visual Studio Command Prompt: where svcutil.exe. Auf meiner Maschine ist es in:C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcUtil.exe


16
Ich habe es verstanden. Öffnen Sie die Visual Studio-Eingabeaufforderung und geben Sie "where svcutil.exe" ein. Meins ist unten: c: \ Programme \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NetFX 4.0-Tools \ SvcUtil.exe oder c: \ Programme \ Microsoft SDKs \ Windows \ v7.0A \ bin \ SvcUtil.exe
Nellbryant

7
Die Eingabeaufforderung selbst befindet sich im Startmenü unter Visual Studio 2015\Visual Studio Tools\Developer Command Prompt for VS2015(mindestens für Visual Studio 2015).
Zero3

Wenn Sie versuchen, die Version 7.1 des SDK zu installieren (und Sie befinden sich zufällig unter Windows 7 x64), hat MS anscheinend svcutil.exe daraus entfernt. Es ist nirgends zu finden, ob Sie durch alle Rahmen springen, um die Installationsfehler zu umgehen, oder die ISO herunterladen, es ist einfach nicht da. Das hat ungefähr 3 Stunden meines Tages verschwendet ... danke MS. Warum sollten sie es entfernen? Weiß nicht. Auf jeden Fall konnte ich die 6.1 - Version des SDK installieren, die noch svcutil.exe enthält (im Ordner ist), mit Chocolatey, von hier: chocolatey.org/packages/windows-sdk-6.1
David Barrows


18

Wenn Sie vs 2010 verwenden, können Sie es in bekommen

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools

3

Versuchen Sie, die Proxy-Klasse über SvcUtil.exe mit dem Befehl zu generieren

Syntax:

svcutil.exe /language:<type> /out:<name>.cs /config:<name>.config http://<host address>:<port>

Beispiel:

svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceSamples/myService1

Um zu überprüfen, ob ein Dienst verfügbar ist, versuchen Sie es ab Beispiel in Ihrer IE-URL ohne myService1-Postfix


Was ist der Zweck des Generierens einer Proxy-Klasse? Wenn ich die Dienstreferenz zu einem C # -Projekt hinzufüge, scheint sie für mich zu generieren?
PositiveGuy

Zur Deserialisierung von Daten. Sie können den Service-Verweis zum Projekt hinzufügen, aber die Lösung, ihn als selbst generierte Klassen zu haben, scheint mir viel klarer. Zum Beispiel, wenn Sie Validierungen oder Zuordnungen verwenden. Auch wenn sich die Struktur zu oft ändert, ist das Regenerieren von Referenzen immer sehr chaotisch.
Stenly

2

Um einen Dateispeicherort zu finden

  1. Im Windows-Startmenü Suchfeld
  2. Geben Sie svcutil.exe ein
  3. Warten Sie, bis die Ergebnisse ausgefüllt sind
  4. Klicken Sie mit der rechten Maustaste auf svcutil.exe und wählen Sie "Dateispeicherort öffnen".
  5. Kopieren Sie den Windows Explorer-Pfad

2
Funktioniert auf meinem System nicht, obwohl svcutil an vier Stellen vorhanden ist.
JohnL4

4
@ JohnL4, möchten Sie möglicherweise den Speicherort erweitern, nach dem das Windows-Suchdienstprogramm sucht. Öffnen Sie dazu Systemsteuerung-> Indizierungsoptionen und klicken Sie auf die Schaltfläche Ändern, um den Indexpositionen zusätzliche Ordner hinzuzufügen. (In diesem Fall scheint es, dass "Programme" oder "Programme (x86)" nicht in der aktuellen Liste Ihrer "eingeschlossenen Standorte" ist)
kmote

2

Ich denke nicht, dass es sehr wichtig ist, den Speicherort von Svcutil.exe zu finden. Sie können die Visual Studio-Eingabeaufforderung verwenden, um sie direkt ohne ihren absoluten Pfad auszuführen.

Syntax:
svcutil.exe /language:[vb|cs] /out:[YourClassName].[cs|vb] /config:[YourAppConfigFile.config] [YourServiceAddress]

example:
svcutil.exe /language:cs /out:MyClientClass.cs /config:app.config http://localhost:8370/MyService/

3
Nicht wirklich. Die Visual Studio-Eingabeaufforderung legt nur einige Umgebungsvariablen fest, eine davon ist PATH, bevor cmd.exe ausgeführt wird. Wenn sich das aus irgendeinem legitimen Grund svcutil.exenicht in einem PATHVerzeichnis befindet, können Sie es nicht ohne absoluten Pfad ausführen.
Laika
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.