Де svcutil.exe в Windows 7?


105

Для мого WCF мені потрібно створити файл конфігурації для моєї клієнтської програми, щоб вказати такі речі, як прив'язка служби, адреса послуги та контракт.

Відповіді:


149

Введіть в Microsoft Visual Studio Command Prompt: where svcutil.exe. На моїй машині він знаходиться в:C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcUtil.exe


16
Зрозумів. Відкрийте командний рядок Visual studio і введіть "де svcutil.exe". Шахта знаходиться нижче: c: \ Файли програми \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NetFX 4.0 Інструменти \ SvcUtil.exe або c: \ Файли програми \ Microsoft SDKs \ Windows \ v7.0A \ bin \ SvcUtil.exe
nellbryant

7
Сам командний рядок знаходиться в меню запуску в розділі Visual Studio 2015\Visual Studio Tools\Developer Command Prompt for VS2015(принаймні, для Visual Studio 2015).
Zero3

Якщо ви намагаєтесь встановити версію SDK v 7.1 (а у вас трапляється на Windows 7 x64), здається, MS видалила з неї svcutil.exe. Ніде не знайдеться, чи ви проскакуєте через усі обручі, щоб обійти помилки встановлення, чи завантажуєте ISO, його просто немає. Це витрачало близько 3 годин мого дня ... дякую MS. Чому вони б її зняли? Не знаю. У будь-якому разі мені вдалося встановити 6.1 версію SDK, яка все ще містить svcutil.exe (у папці бін), використовуючи Chocolatey, звідси: chocolatey.org/packages/windows-sdk-6.1
Девід Барроуз

21

З останньою версією Windows (наприклад, Windows 10, іншими серверами) введіть / знайдіть "Command prompt Developers ..". Це з'явиться відповідне командне вікно для версії Visual Studio.

наприклад, командний рядок розробника для VS 2015

Детальніше тут https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx


Це має бути інтегровано з VS.
p__d

18

Якщо ви використовуєте vs 2010, то ви можете отримати це

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

3

Спробуйте генерувати клас проксі через команду SvcUtil.exe

Синтаксис:

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

Приклад:

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

Щоб перевірити, чи доступна послуга, спробуйте у вашій IE URL-адресі з прикладу без постфікса myService1


яка мета створення проксі-класу? Якщо я додаю посилання на послугу до проекту C #, він, здається, генерує це для мене?
PositiveGuy

Для десеріалізації даних. Ви можете додати посилання на сервіс до проекту, але рішення мати його як власні згенеровані класи здається мені набагато зрозумілішим. Наприклад, якщо ви використовуєте перевірки або відображення. Крім того, коли структура змінюється до часто, відновлення посилань завжди сильно плутає.
stenly

2

Щоб знайти будь-яке розташування файлу

  1. У меню запуску Windows Вікно пошуку
  2. введіть у svcutil.exe
  3. Зачекайте, поки результати будуть заповнені
  4. Клацніть правою кнопкою миші на svcutil.exe і виберіть "Відкрити розташування файлу"
  5. Скопіюйте шлях Windows Explorer

2
Не працює в моїй системі, хоча svcutil присутній у чотирьох місцях.
JohnL4

4
@ JohnL4, ви можете розглянути питання про розширення розташування, на яке виглядає утиліта пошуку Windows. Це можна зробити, відкривши Панель керування-> Параметри індексації та натиснувши кнопку Змінити, щоб додати додаткові папки до місця розташування індексу. (У цьому випадку виявляється, що "Файли програми" або "Файли програми (x86)" немає у поточному списку ваших "Включених
локацій

2

Я не думаю, що це дуже важливо знайти місцезнаходження Svcutil.exe. Ви можете використовувати командний рядок Visual Studio для прямого виконання без його абсолютного шляху,

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
Насправді ні. Візуальний рядок Command Studio просто встановлює деякі змінні середовища, одна з них - PATHперед виконанням cmd.exe. Якщо з будь-якої законної причини svcutil.exeнемає в жодному PATHкаталозі, ви не можете виконати його без абсолютного шляху.
laika
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.