16

我想在另一台机器上运行 WcfTestClient(包含在 VS2012 中)而不安装 VS2012。这可能吗?在我安装了 .NET 4.5 的机器上,但是当我尝试添加 Web 服务时,它给了我以下堆栈跟踪:

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.Tools.Common.SdkPathUtility.GetRegistryValue(String registryPath, String registryValueName)
   at Microsoft.Tools.Common.SdkPathUtility.GetSdkPath(Version targetFrameworkVersion)
   at Microsoft.Tools.TestClient.ToolingEnvironment.get_MetadataTool()
   at Microsoft.Tools.TestClient.ServiceAnalyzer.GenerateProxyAndConfig(String projectPath, String address, String configPath, String proxyPath, Int32 startProgressPosition, Int32 endProgressPostition, BackgroundWorker addServiceWorker, String& errorMessage)
   at Microsoft.Tools.TestClient.ServiceAnalyzer.AnalyzeService(String address, BackgroundWorker addServiceWorker, Single startProgress, Single progressRange, String& errorMessage)
   at Microsoft.Tools.TestClient.Workspace.AddServiceProject(String endpoint, BackgroundWorker addServiceWorker, Single startProgress, Single progressRange, String& error)
   at Microsoft.Tools.TestClient.AddServiceExecutor.Execute(AddServiceInputs inputs, Workspace workspace, BackgroundWorker addServiceWorker)
   at Microsoft.Tools.TestClient.UI.MainForm.addServiceWorker_DoWork(Object sender, DoWorkEventArgs e)
   at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
   at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

在 WcfTestClient 文件夹中,我只有 2 个文件,是否需要包含其他文件?WcfTestClient.exe WcfTestClient.exe.config

两者都是直接从 VS2012 IDE 文件夹中复制的。

4

3 回答 3

6

WCFTestClient 必须在安装了 SDK 的计算机上运行。它不仅在注册表中查找 SDK 的位置,而且还从 SDK 运行 svcutil 以生成代理类以在运行时连接。

于 2013-12-02T20:18:37.967 回答
2

在使用 VS2012 Pro(更新 4)在 Windows 7 上开发 .Net 4.0 WCF 服务时,我发现我需要安装 Windows 8.0 SDK,而不是人们可能假设的 Windows 7 SDK。(添加此答案以替换我之前的评论)。

于 2015-09-08T16:37:10.963 回答
1

响应有点晚,但不需要在目标计算机上安装 SDK。

您只需要复制一些文件并确保存在一个注册表项。

从本地安装的 VS 2015 (v14.0):

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\WcfTestClient.exe
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.VisualStudio.VirtualTreeGrid\v4.0_14.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.VirtualTreeGrid.dll

从本地安装的 Windows SDK (v10):

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\SvcUtil.exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\SvcConfigEditor*.*

注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\NETFXSDK\4.6\WinSDK-NetFx40Tools-x86  (just ensure all keys exists, no content needed)

此处的完整说明:https ://social.msdn.microsoft.com/Forums/vstudio/en-US/c3c7221c-c06f-4364-887a-fb20f22877be/wcf-test-client-problem?prof=required (最后一个回复,作者:Jakub Bereżański)

于 2019-06-05T13:51:42.883 回答