12

Я хотел бы запустить WcfTestClient (тот, который входит в состав VS2012) на другой машине без установки VS2012. Это возможно? На машине я установил .NET 4.5, но когда я пытаюсь добавить веб-услуги, которые она дает мне следующую трассировку стека:Невозможно добавить службу в 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 У меня есть только 2 файла, есть ли другие файлы мне нужно включать? WcfTestClient.exe WcfTestClient.exe.config

Оба скопированы непосредственно из папки ID2 VS2012.

+1

То же самое для меня и без подсказки. – abatishchev

+0

Вы пытались использовать [Process Explorer] (http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx), чтобы узнать, какие DLL-файлы загружаются тестовым клиентом? Это может дать вам понять, что вам не хватает. – Tombala

+0

Хех, фактически глядя на трассировку стека, пытается прочитать специальные записи реестра SDK. Нет WCF SDK, я думаю, и он поставляется с VS, поэтому вам может быть не повезло. – Tombala

ответ

4

WCFTestClient должен быть запущен на компьютере с установленным SDK. Он не только ищет в реестре, чтобы найти местоположение SDK, но также запускает svcutil из SDK для создания прокси-классов для подключения во время выполнения.

+3

При разработке службы WCF .NET 4.0 в Windows 7 с использованием VS2012 Pro (обновление 4) я обнаружил, что мне необходимо установить [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

При разработке .NET WCF Service в Windows 7 с использованием VS2012 Pro (обновление 4) я обнаружил, что мне нужно установить SDK для Windows 8.0, а не Windows 7 SDK, как можно было бы предположить. (Добавлен этот ответ, чтобы заменить мой предыдущий комментарий).

Смежные вопросы