如何在没有Visual Studio的情况下使用Wcf测试客户端?

48

将 WcfTestClient.exe 单独复制到另一台机器上时,运行时错误会阻止您连接到 WCF 服务,例如:

System.IO.FileNotFoundException: 找不到文件或程序集“Microsoft.Build.Utilities.Core, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或其某个依赖项。系统无法找到指定的文件。

如何在不安装 Visual Studio 的情况下使用此工具?


10
这是一个经常让职场人士需要回答的有效问题。有没有建议可以缩小问题的范围,而不是关闭具有重要价值的内容? - Shaun Wilson
3个回答

20

为了作为独立应用程序运行WCFTestClient.exe(无需安装完整版的Visual Studio 2010)

  1. dest.机器上创建一个目录,并将wcftestclient.exe文件复制到该目录中(仅限该文件)
  2. 从以下文件中复制Microsoft.VisualStudio.VirtualTreeGrid.dll(版本10),并将其复制到dest.机器上与wcftestclient.exe相同的目录中。

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.VisualStudio.VirtualTreeGrid\v4.0_10.0.0.0__b03f5f7f11d50a3a
  • 你需要在目标机器上创建以下两个注册表键:

  • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools-x64]
    "InstallationFolder"="\"
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools-x86]
    "InstallationFolder"="\"
    

    步骤说明:您可以从您的开发机器上导出它们(也许您可以找到另一个版本,但请首先尝试使用v7.0A)

  • 然后您需要复制从:

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

    将文件复制到目标机器(与wcftestclient.exe相同的目录)

    步骤说明:使用此版本的svcutil.exe非常重要

  • 运行wcftestclient.exe

  • 最终说明:您只需要两个.exe文件和一个.dll文件wcftestclient.exe,svcutil.exe和Microsoft.VisualStudio.VirtualTreeGrid.dll来运行应用程序。

    更多信息


    下载链接中的zip文件无需进行注册表编辑,其中包含以下文件:WcfSvcHost.exe.config、Microsoft.VisualStudio.VirtualTreeGrid.dll、System.Data.dll、WcfTestClient.chm、SvcUtil.exe、WcfTestClient.exe.config、WcfSvcHost.exe、SvcUtil.exe.config、WcfTestClient.exe以及WcfSvcHost.chm。 - ofthelit
    我按照说明操作,而且没有进行注册表编辑就成功了。 - maf-soft

    15

    3
    @Benj:这应该是一条评论。 - Erik Kaplun

    8

    2
    这可能更适合作为对Benj答案的评论或编辑,而不是独立的回答。它并没有为这个问题现有的答案提供额外的价值。 - Serlite
    顺便提一下,运行完整的WcfTestClient.exe需要.NET 3.5。 - Tomex Ou

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接