Gdzie znajduje się svcutil.exe w systemie Windows 7?


105

W przypadku mojego programu WCF muszę wygenerować plik konfiguracyjny dla mojej aplikacji klienckiej, aby określić takie rzeczy, jak powiązanie usługi, adres usługi i umowa.

Odpowiedzi:


149

Wpisz w Microsoft Visual Studio Command Prompt: where svcutil.exe. Na moim komputerze jest w:C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcUtil.exe


16
Mam to. Otwórz wiersz polecenia programu Visual Studio, a następnie wpisz „gdzie svcutil.exe”. Mój jest poniżej: c: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NetFX 4.0 Tools \ SvcUtil.exe lub c: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ SvcUtil.exe
nellbryant

7
Sam promt polecenia znajduje się w menu Start w sekcji Visual Studio 2015\Visual Studio Tools\Developer Command Prompt for VS2015(przynajmniej dla programu Visual Studio 2015).
Zero3

Jeśli próbujesz zainstalować wersję 7.1 zestawu SDK (i pracujesz w systemie Windows 7 x64), wygląda na to, że firma MS usunęła z niej plik svcutil.exe. Nigdzie nie można znaleźć, czy przeskakujesz przez wszystkie obręcze, aby ominąć błędy instalacji, czy pobierasz ISO, po prostu go tam nie ma. To zmarnowało około 3 godzin mojego dnia… dzięki stwardnienie rozsiane. Dlaczego mieliby to usunąć? Nie wiem. W każdym razie udało mi się zainstalować wersję 6.1 SDK, która nadal zawiera svcutil.exe (w folderze bin), używając Chocolatey, stąd: chocolatey.org/packages/windows-sdk-6.1
David Barrows


18

Jeśli używasz vs 2010, możesz go pobrać

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

3

Spróbuj wygenerować klasę proxy za pomocą SvcUtil.exe za pomocą polecenia

Składnia:

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

Przykład:

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

Aby sprawdzić, czy usługa jest dostępna, spróbuj w swoim adresie URL IE z przykładu, bez postfiksu myService1


jaki jest cel generowania klasy proxy? Jeśli dodam odwołanie do usługi do projektu C #, wydaje się, że generuje je dla mnie?
PositiveGuy,

Do deserializacji danych. Możesz dodać odwołanie do usługi do projektu, ale rozwiązanie, aby mieć je jako własne wygenerowane klasy wydaje mi się znacznie jaśniejsze. Na przykład, jeśli używasz walidacji lub mapowań. Również w przypadku częstych zmian struktury ponowne generowanie odniesień zawsze powoduje duży bałagan.
stenly

2

Aby znaleźć dowolną lokalizację pliku

  1. W menu Start systemu Windows Pole wyszukiwania
  2. wpisz svcutil.exe
  3. Poczekaj na wypełnienie wyników
  4. Kliknij prawym przyciskiem myszy svcutil.exe i wybierz „Otwórz lokalizację pliku”
  5. Skopiuj ścieżkę eksploratora Windows

2
Nie działa w moim systemie, mimo że svcutil jest obecny w czterech lokalizacjach.
JohnL4

4
@ JohnL4, możesz rozważyć rozszerzenie lokalizacji, w której wygląda narzędzie wyszukiwania systemu Windows. Możesz to zrobić, otwierając Panel sterowania-> Opcje indeksowania i klikając przycisk Modyfikuj, aby dodać dodatkowe foldery do Lokalizacji indeksowania. (W tym przypadku wydaje się, że „Program Files” lub „Program Files (x86)” nie znajduje się na aktualnej liście „Uwzględnionych lokalizacji”)
kmote

2

Nie sądzę, aby było bardzo ważne, aby znaleźć lokalizację Svcutil.exe. Możesz użyć wiersza polecenia programu Visual Studio, aby wykonać bezpośrednio bez jego bezwzględnej ścieżki,

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
Właściwie nie. Wiersz polecenia programu Visual Studio po prostu ustawia niektóre zmienne środowiskowe, jedną z nich PATH, przed uruchomieniem cmd.exe. Jeśli z jakiegoś uzasadnionego powodu svcutil.exenie ma w żadnym PATHkatalogu, nie możesz go uruchomić bez bezwzględnej ścieżki.
laika
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.