¿Dónde está svcutil.exe en Windows 7?

105

Para mi WCF, necesito generar un archivo de configuración para mi aplicación cliente para especificar cosas como el enlace del servicio, la dirección del servicio y el contrato.

nellbryant
fuente

Respuestas:

149

Escribir el Microsoft Visual Studio Command Prompt: where svcutil.exe. En mi máquina está en:C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcUtil.exe

Petar Minchev
fuente
16
Lo tengo. Abra el símbolo del sistema de Visual Studio y luego escriba "where svcutil.exe". El mío está a continuación: c: \ Archivos de programa \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NetFX 4.0 Tools \ SvcUtil.exe o c: \ Archivos de programa \ Microsoft SDKs \ Windows \ v7.0A \ bin \ SvcUtil.exe
nellbryant
7
El símbolo del sistema se encuentra en el menú de inicio en Visual Studio 2015\Visual Studio Tools\Developer Command Prompt for VS2015(al menos para Visual Studio 2015).
Zero3
Si está intentando instalar la v 7.1 del SDK (y resulta que está en Windows 7 x64), parece que MS ha eliminado svcutil.exe. No se encuentra en ninguna parte, ya sea que pase por todos los aros para sortear los errores de instalación o descargue la ISO, simplemente no está allí. Eso desperdició alrededor de 3 horas de mi día ... gracias MS. ¿Por qué lo quitarían? No lo se. De todos modos, pude instalar la versión 6.1 del SDK, que todavía contiene svcutil.exe (en la carpeta bin), usando Chocolatey, desde aquí: chocolatey.org/packages/windows-sdk-6.1
David Barrows
21

Con la última versión de Windows (por ejemplo, Windows 10, otros servidores), escriba / busque "Símbolo del sistema para desarrolladores ..." Aparecerá el símbolo del sistema correspondiente para la versión de Visual Studio.

por ejemplo, símbolo del sistema del desarrollador para VS 2015

Más aquí https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx

Venkatesh Muniyandi
fuente
Eso debería integrarse con VS.
p__d
18

Si está utilizando vs 2010, puede obtenerlo en

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

Intente generar la clase de proxy a través de SvcUtil.exe con el comando

Sintaxis:

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

Ejemplo:

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

Para verificar si el servicio está disponible, intente en su URL de IE desde el ejemplo sin el postfix myService1

apestosamente
fuente
¿Cuál es el propósito de generar una clase de proxy? Si agrego la referencia de servicio a un proyecto de C #, ¿parece que me lo genera?
PositiveGuy
Para deserialización de datos. Puedes agregar la referencia del servicio al proyecto, pero la solución para tenerlo como clases propias me parece mucho más clara. Por ejemplo, si utiliza validaciones o asignaciones. Además, cuando la estructura cambia a menudo, la regeneración de referencias siempre hace mucho lío.
stenly
2

Para encontrar cualquier ubicación de archivo

  1. En el cuadro de búsqueda del menú de inicio de Windows
  2. escriba svcutil.exe
  3. Espere a que aparezcan los resultados
  4. Haga clic derecho en svcutil.exe y seleccione 'Abrir ubicación de archivo'
  5. Copiar la ruta del explorador de Windows
James Fleming
fuente
2
No funciona en mi sistema, aunque svcutil está presente en cuatro ubicaciones.
JohnL4
4
@ JohnL4, es posible que desee considerar expandir la ubicación en la que se ve la utilidad de búsqueda de Windows. Puede hacerlo abriendo Panel de control-> Opciones de indexación y haciendo clic en el botón Modificar para agregar carpetas adicionales a las Ubicaciones de índice. (En este caso, parece que "Archivos de programa" o "Archivos de programa (x86)" no están en la lista actual de sus "Ubicaciones incluidas")
kmote
2

No creo que sea muy importante encontrar la ubicación de Svcutil.exe. Puede usar el símbolo del sistema de Visual Studio para ejecutar directamente sin su ruta absoluta,

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
fuente
3
En realidad no. El símbolo del sistema de Visual Studio solo establece algunas variables de entorno, una de ellas es PATH, antes de ejecutar cmd.exe. Si por alguna razón legítima svcutil.exeno está en ningún PATHdirectorio, no puede ejecutarlo sin una ruta absoluta.
laika