Où est svcutil.exe dans Windows 7?

105

Pour mon WCF, je dois générer un fichier de configuration pour mon application cliente afin de spécifier des éléments tels que la liaison du service, l'adresse du service et le contrat.

Nellbryant
la source

Réponses:

149

Tapez le Microsoft Visual Studio Command Prompt: where svcutil.exe. Sur ma machine, il est dans:C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcUtil.exe

Petar Minchev
la source
16
J? ai compris. Ouvrez l'invite de commande Visual studio, puis tapez "where svcutil.exe". Le mien est ci-dessous: c: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NetFX 4.0 Tools \ SvcUtil.exe ou c: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ SvcUtil.exe
nellbryant
7
L'invite de commande elle-même se trouve dans le menu Démarrer sous Visual Studio 2015\Visual Studio Tools\Developer Command Prompt for VS2015(pour Visual Studio 2015 au moins).
Zero3
Si vous essayez d'installer la version 7.1 du SDK (et que vous vous trouvez sous Windows 7 x64), il semble que MS en ait supprimé svcutil.exe. Il est introuvable que vous sautiez à travers tous les obstacles pour contourner les erreurs d'installation ou que vous téléchargiez l'ISO, ce n'est tout simplement pas là. Cela a gaspillé environ 3 heures de ma journée ... merci MS. Pourquoi le supprimeraient-ils? Je ne sais pas. Quoi qu'il en soit, j'ai pu installer la version 6.1 du SDK, qui contient toujours svcutil.exe (dans le dossier bin), en utilisant Chocolatey, à partir d'ici: chocolatey.org/packages/windows-sdk-6.1
David Barrows
21

Avec la dernière version de Windows (par exemple Windows 10, autres serveurs), tapez / recherchez «Invite de commandes pour les développeurs». L'invite de commande appropriée pour la version de Visual Studio apparaîtra.

Par exemple, l'invite de commande du développeur pour VS 2015

Plus d'informations ici https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx

Venkatesh Muniyandi
la source
Cela devrait être intégré à VS.
p__d
18

Si vous utilisez vs 2010, vous pouvez l'inclure

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

Essayez de générer la classe proxy via SvcUtil.exe avec la commande

Syntaxe:

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

Exemple:

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

Pour vérifier si le service est disponible, essayez dans votre URL IE à partir de l'exemple suivant sans le suffixe myService1

durement
la source
quel est le but de générer une classe proxy? Si j'ajoute la référence de service à un projet C #, cela semble le générer pour moi?
PositiveGuy
Pour la désérialisation des données. Vous pouvez ajouter la référence de service au projet, mais la solution de l'avoir comme propres classes générées me semble beaucoup plus claire. Par exemple, si vous utilisez des validations ou des mappages. De plus, lorsque la structure devient souvent, la régénération des références fait toujours beaucoup de désordre.
stenly le
2

Pour trouver n'importe quel emplacement de fichier

  1. Dans le menu Démarrer de Windows Boîte de recherche
  2. tapez svcutil.exe
  3. Attendez que les résultats se remplissent
  4. Faites un clic droit sur svcutil.exe et sélectionnez 'Ouvrir l'emplacement du fichier'
  5. Copier le chemin de l'explorateur Windows
James Fleming
la source
2
Ne fonctionne pas sur mon système, même si svcutil est présent à quatre endroits.
JohnL4
4
@ JohnL4, vous voudrez peut-être envisager d'étendre l'emplacement de l'utilitaire Windows Search. Vous pouvez le faire en ouvrant Panneau de configuration-> Options d'indexation et en cliquant sur le bouton Modifier pour ajouter des dossiers supplémentaires aux emplacements d'index. (Dans ce cas, il semble que "Program Files" ou "Program Files (x86)" ne figure pas dans la liste actuelle de vos "Emplacements inclus")
kmote
2

Je ne pense pas qu'il soit très important de trouver l'emplacement de Svcutil.exe. Vous pouvez utiliser l'invite de commande Visual Studio pour exécuter directement sans son chemin absolu,

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
la source
3
En fait non. L'invite de commande Visual Studio définit simplement certaines variables d'environnement, dont l'une est PATH, avant d'exécuter cmd.exe. Si, pour une raison quelconque, le svcutil.exen'est dans aucun PATHrépertoire, vous ne pouvez pas l'exécuter sans chemin absolu.
laika