Windows 7中的svcutil.exe在哪里?


104

对于WCF,我需要为客户端应用程序生成配置文件,以指定诸如服务绑定,服务地址和合同之类的内容。

Answers:


148

输入Microsoft Visual Studio Command Promptwhere 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

7
命令Promt本身位于Visual Studio 2015\Visual Studio Tools\Developer Command Prompt for VS2015(至少对于Visual Studio 2015)下的开始菜单中。
Zero3'3

如果您尝试安装SDK的v 7.1(并且恰好在Windows 7 x64上),则MS似乎已从中删除了svcutil.exe。您是无处躲避安装错误,还是下载ISO,无处可寻。浪费了我大约3个小时的时间...谢谢MS。他们为什么要删除它?不知道 无论如何,我可以使用Chocolatey从以下位置安装6.1版的SDK,该版本仍包含svcutil.exe(在bin文件夹中): Chocolatey.org/packages/windows-sdk-6.1
David Barrows



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 2014年

2

查找任何文件位置

  1. 在Windows开始菜单搜索框中
  2. 输入svcutil.exe
  3. 等待结果填充
  4. 右键单击svcutil.exe,然后选择“打开文件位置”
  5. 复制Windows资源管理器路径

2
即使svcutil位于四个位置,也无法在我的系统上工作。
JohnL4

4
@ JohnL4,您可能要考虑扩大Windows Search实用程序看起来的位置。您可以通过以下方式执行此操作:打开“控制面板”->“索引选项”,然后单击“修改”按钮以将其他文件夹添加到“索引位置”。(在这种情况下,“程序文件”或“程序文件(x86)”似乎不在您的“包含位置”的当前列表中)
kmote 2013年

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
其实不行 PATH在执行cmd.exe之前,Visual Studio命令提示符仅设置了一些环境变量,其中之一是。如果出于任何正当原因svcutil.exe,该PATH目录不在任何目录中,则没有绝对路径就无法执行它。
laika 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.