Где в Windows 7 находится svcutil.exe?

105

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

Nellbryant
источник

Ответы:

149

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

Петр Минчев
источник
16
Я понял. Откройте командную строку Visual Studio и введите «where svcutil.exe». Мой ниже: c: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NetFX 4.0 Tools \ SvcUtil.exe или c: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ SvcUtil.exe
nellbryant 02
7
Сама командная строка находится в меню «Пуск» Visual Studio 2015\Visual Studio Tools\Developer Command Prompt for VS2015(по крайней мере, для Visual Studio 2015).
Zero3 03
Если вы пытаетесь установить SDK версии 7.1 (и у вас Windows 7 x64), похоже, MS удалила из него svcutil.exe. Его нигде нет, прыгаете ли вы через все препятствия, чтобы обойти ошибки установки, или загружаете ISO, его просто нет. На это потрачено около 3 часов моего дня ... спасибо MS. Зачем они его убирали? Не знаю. В любом случае мне удалось установить версию SDK 6.1, которая все еще содержит svcutil.exe (в папке bin), с помощью Chocolatey, отсюда: chocolatey.org/packages/windows-sdk-6.1
Дэвид Барроуз,
21

В последней версии Windows (например, Windows 10, другие серверы) введите / выполните поиск по запросу «Командная строка разработчика ...». Появится всплывающая командная строка, соответствующая версии Visual Studio.

например, командная строка разработчика для VS 2015

Подробнее здесь https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx

Венкатеш Муниянди
источник
Это должно быть интегрировано с VS.
p__d 05
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

Чтобы проверить, доступна ли служба, попробуйте указать URL-адрес IE из примера без постфикса myService1

тихо
источник
какова цель создания прокси-класса? Если я добавлю ссылку на службу в проект C #, она, кажется, сгенерирует ее для меня?
PositiveGuy
Для десериализации данных. Вы можете добавить ссылку на сервис в проект, но решение о том, чтобы использовать его как собственные сгенерированные классы, мне кажется гораздо более ясным. Например, если вы используете проверки или сопоставления. Кроме того, когда структура меняется слишком часто, регенерация ссылок всегда приносит много беспорядка.
stenly
2

Чтобы найти любое местоположение файла

  1. В меню Пуск Windows поле поиска
  2. введите svcutil.exe
  3. Подождите, пока появятся результаты
  4. Щелкните правой кнопкой мыши файл svcutil.exe и выберите «Открыть расположение файла».
  5. Скопируйте путь к проводнику Windows
Джеймс Флеминг
источник
2
Не работает в моей системе, хотя svcutil присутствует в четырех местах.
JohnL4
4
@ JohnL4, возможно, вы захотите расширить область поиска служебной программы Windows Search. Вы можете сделать это, открыв Панель управления-> Параметры индексирования и нажав кнопку «Изменить», чтобы добавить дополнительные папки в места индексации. (В этом случае оказывается, что «Программные файлы» или «Программные файлы (x86)» отсутствуют в текущем списке ваших «Включенных расположений»)
kmote
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/
itb564
источник
3
Вообще-то, нет. Командная строка Visual Studio просто устанавливает некоторые переменные среды, одна из нихPATH , перед запуском cmd.exe. Если по какой-либо законной причине svcutil.exeон не находится ни в каком PATHкаталоге, вы не можете выполнить его без абсолютного пути.
laika