12

Chciałbym uruchomić WcfTestClient (taki, który jest dołączony do VS2012) na innym komputerze bez instalowania VS2012. czy to możliwe? Na komputerze mam zainstalowane .NET 4.5, ale gdy próbuję dodać usług internetowych daje mi następujący ślad stosu:Nie można dodać usługi w WcfTestClient podczas kopiowania na inną maszynę

************** 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) 

W folderze WcfTestClient mam tylko 2 pliki, jest jakieś inne pliki muszę aby zawierało? WcfTestClient.exe WcfTestClient.exe.config

Obie są kopiowane bezpośrednio z folderu IDE VS2012.

+1

To samo dla mnie i nie ma pojęcia. – abatishchev

+0

Czy próbowałeś użyć [Process Explorer] (http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx), aby zobaczyć, jakie biblioteki DLL ładuje klient testowy? To może dać ci wskazówkę, czego możesz nie zauważyć. – Tombala

+0

Heh, faktycznie patrząc na ślad stosu, próbuje odczytać wpisy rejestru SDK. Nie ma SDK WCF, myślę, że pochodzi z VS, więc możesz mieć pecha. – Tombala

Odpowiedz

4

WCFTestClient musi być uruchomiony na komputerze z zainstalowanym zestawem SDK. Nie tylko wygląda w rejestrze, aby znaleźć lokalizację SDK, ale także uruchamia svcutil z SDK, aby wygenerować klasy proxy do połączenia w czasie wykonywania.

+3

Podczas rozwijania usługi WCF .Net 4.0 w systemie Windows 7 przy użyciu programu VS2012 Pro (aktualizacja 4), znalazłem potrzebę zainstalowania pakietu [Windows 8.0 SDK] (http://msdn.microsoft.com/en-us/windows/desktop/ hh852363.aspx), a nie [Windows 7 SDK] (http://www.microsoft.com/en-ca/download/details.aspx?id=8279), jak można by przypuszczać. –

+0

@MattDonald musisz umieścić go w osobnej odpowiedzi, więc mogę głosować na to. – Avram

+1

@Avram Oddzielna odpowiedź stworzona! –

2

Podczas rozwijania usługi WCF .Net 4.0 w systemie Windows 7 przy użyciu VS2012 Pro (aktualizacja 4), stwierdziłem, że muszę zainstalować pakiet SDK systemu Windows 8.0, a nie zestaw Windows 7 SDK, jak można by zakładać. (Dodano tę odpowiedź, aby zastąpić mój poprzedni komentarz).

Powiązane problemy