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.

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


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


18

Si vous utilisez vs 2010, vous pouvez l'inclure

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

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


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

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/

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.