¿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.

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


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


18

Si está utilizando vs 2010, puede obtenerlo en

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

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


¿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

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/

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.