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.

Nellbryant
quelle

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

Petar Minchev
quelle
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
21

Geben Sie in der neuesten Windows-Version (z. B. Windows 10, andere Server) "Suche nach" Entwickler-Eingabeaufforderung "ein. Daraufhin wird die entsprechende Eingabeaufforderung für die Visual Studio-Version angezeigt.

zB Developer Command Prompt für VS 2015

Mehr hier https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx

Venkatesh Muniyandi
quelle
Das sollte in VS integriert werden.
p__d
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
Nileshrao Sawant
quelle
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

stenly
quelle
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
James Fleming
quelle
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/
itb564
quelle
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