Onde está svcutil.exe no Windows 7?

105

Para meu WCF, preciso gerar um arquivo de configuração para meu aplicativo cliente para especificar coisas como vinculação de serviço, o endereço do serviço e o contrato.

Nellbryant
fonte

Respostas:

149

Digite o Microsoft Visual Studio Command Prompt: where svcutil.exe. Na minha máquina está em:C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcUtil.exe

Petar Minchev
fonte
16
Deixa comigo. Abra o prompt de comando do Visual Studio e digite "where svcutil.exe". O meu está abaixo: c: \ Arquivos de programas \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NetFX 4.0 Tools \ SvcUtil.exe ou c: \ Arquivos de programas \ Microsoft SDKs \ Windows \ v7.0A \ bin \ SvcUtil.exe
nellbryant
7
O próprio prompt de comando é encontrado no menu iniciar em Visual Studio 2015\Visual Studio Tools\Developer Command Prompt for VS2015(para Visual Studio 2015, pelo menos).
Zero3
Se você está tentando instalar o v 7.1 do SDK (e por acaso está no Windows 7 x64), parece que a MS removeu o svcutil.exe dele. Não é possível encontrar em lugar nenhum, quer você salte todos os obstáculos para contornar os erros de instalação ou baixe o ISO, ele simplesmente não está lá. Isso desperdiçou cerca de 3 horas do meu dia ... obrigado MS. Por que eles o removeriam? Não sei. De qualquer forma, consegui instalar a versão 6.1 do SDK, que ainda contém svcutil.exe (na pasta bin), usando o Chocolatey, a partir daqui: chocolatey.org/packages/windows-sdk-6.1
David Barrows
21

Com a versão mais recente do Windows (por exemplo, Windows 10, outros servidores), digite / pesquise "Prompt de comando do desenvolvedor." Ele irá abrir o prompt de comando relevante para a versão do Visual Studio.

por exemplo, Prompt de comando do desenvolvedor para VS 2015

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

Venkatesh Muniyandi
fonte
Isso deve ser integrado ao VS.
p__d
18

Se você estiver usando o vs 2010, pode obtê-lo em

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

Tente gerar a classe de proxy via SvcUtil.exe com o comando

Sintaxe:

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

Exemplo:

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

Para verificar se o serviço está disponível, tente em seu URL do IE a partir do exemplo sem postfix de myService1

fortemente
fonte
qual é o propósito de gerar uma classe proxy? Se eu adicionar a referência de serviço a um projeto C #, ele parece gerá-lo para mim?
PositiveGuy
Para desserialização de dados. Você pode adicionar a referência de serviço ao projeto, mas a solução para tê-la como próprias classes geradas parece-me muito mais clara. Por exemplo, se você estiver usando validações ou mapeamentos. Além disso, quando a estrutura muda para frequentemente, a regeneração de referências sempre causa muita confusão.
fortemente
2

Para encontrar qualquer localização de arquivo

  1. No menu iniciar do Windows Caixa de pesquisa
  2. digite svcutil.exe
  3. Espere que os resultados sejam preenchidos
  4. Clique com o botão direito em svcutil.exe e selecione 'Abrir local do arquivo'
  5. Copiar o caminho do Windows Explorer
James Fleming
fonte
2
Não funciona no meu sistema, embora svcutil esteja presente em quatro locais.
JohnL4
4
@ JohnL4, você pode querer expandir a localização do utilitário Windows Search. Você pode fazer isso abrindo Painel de Controle-> Opções de Indexação e clicando no botão Modificar para adicionar outras pastas aos Locais de Índice. (Neste caso, parece que "Arquivos de programas" ou "Arquivos de programas (x86)" não está na lista atual de seus "Locais incluídos")
kmote
2

Não acho que seja muito importante encontrar a localização do Svcutil.exe. Você pode usar o prompt de comando do Visual Studio para executar diretamente sem seu caminho absoluto,

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
fonte
3
Na verdade não. O prompt de comando do Visual Studio apenas define algumas variáveis ​​de ambiente, uma delas é PATH, antes de executar cmd.exe. Se por algum motivo legítimo svcutil.exenão estiver em nenhum PATHdiretório, você não poderá executá-lo sem o caminho absoluto.
laika