12

VS2012를 설치하지 않고 다른 컴퓨터에 WcfTestClient (VS2012에 포함 된 것)를 실행하고 싶습니다. 이것이 가능한가? 기계에 나는 .NET 4.5을 설치 한하지만 웹 서비스를 추가 할 때 그것은 나에게 다음과 같은 스택 추적을 제공합니다, 나는 단지이 개 파일을 가지고있는 WcfTestClient에서 폴더에서다른 컴퓨터에 복사 할 때 WcfTestClient에 서비스를 추가 할 수 없습니다.

************** 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.exe WcfTestClient.exe.config

둘 다 VS2012 IDE 폴더에서 직접 복사됩니다.

+1

나를위한 동일 및 아무 단서. – abatishchev

+0

[Process Explorer] (http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx)를 사용하여 테스트 클라이언트가로드하는 dll을 확인해 보셨습니까? 그러면 실종 될 수있는 것에 대한 실마리를 줄 수 있습니다. – Tombala

+0

Heh, 실제로 스택 추적을보고 SDK 관련 레지스트리 항목을 읽으려고합니다. 내가 생각하는 WCF SDK가 없으므로 운이 좋지 않을 수도 있습니다. – Tombala

답변

4

WCFTestClient는 SDK가 설치된 컴퓨터에서 실행해야합니다. 레지스트리 위치에서 SDK의 위치를 ​​찾을뿐만 아니라 SDK의 svcutil을 실행하여 런타임에 연결할 프록시 클래스를 생성합니다.

+3

VS2012 Pro (업데이트 4)를 사용하여 Windows 7에서 .Net 4.0 WCF 서비스를 개발하는 동안 [Windows 8.0 SDK] (http://msdn.microsoft.com/en-us/windows/desktop/)를 설치해야한다는 것을 알았습니다. hh852363.aspx)가 아니라 [Windows 7 SDK] (http://www.microsoft.com/en-ca/download/details.aspx?id=8279)를 참조하십시오. –

+0

@MattDonald 당신은 별도의 답변에 넣어야하므로 투표 할 수 있습니다. – Avram

+1

@Avram 별도의 답변이 생성되었습니다! –

2

VS2012 Pro (업데이트 4)를 사용하여 Windows 7에서 .NET 4.0 WCF 서비스를 개발하는 동안 Windows 7 SDK가 아닌 Windows 7 SDK를 설치해야한다는 것을 알았습니다. (내 이전 의견을 대체하기 위해이 답변을 추가했습니다).