12

Tôi muốn chạy WcfTestClient (một trong số đó được bao gồm với VS2012) trên một máy khác mà không cần cài đặt VS2012. Điều này có thể không? Trên máy tính của tôi đã cài đặt .NET 4.5 nhưng khi tôi cố gắng thêm các dịch vụ web nó mang lại cho tôi những vết đống sau:Không thể thêm dịch vụ vào WcfTestClient khi sao chép sang một máy khác

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

Trong thư mục WcfTestClient tôi chỉ có 2 tác phẩm, là có bất kỳ tập tin khác mà tôi cần bao gồm? WcfTestClient.exe WcfTestClient.exe.config

Cả hai đều được sao chép trực tiếp từ thư mục IDE VS2012.

+1

Tương tự với tôi và không có đầu mối. – abatishchev

+0

Bạn đã cố gắng sử dụng [Process Explorer] (http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx) để xem những gì dlls khách hàng thử nghiệm đang tải? Điều đó có thể cung cấp cho bạn một đầu mối về những gì bạn có thể bị thiếu. – Tombala

+0

Heh, thực sự nhìn vào dấu vết ngăn xếp, nó đang cố gắng đọc các mục đăng ký SDK cụ thể. Không có WCF SDK tôi nghĩ và nó đi kèm với VS vì vậy bạn có thể được ra khỏi may mắn. – Tombala

Trả lời

4

WCFTestClient phải được chạy trên máy tính có cài đặt SDK. Nó không chỉ tìm trong registry để tìm vị trí của SDK, mà nó còn chạy svcutil từ SDK để tạo ra các lớp proxy để kết nối khi chạy.

+3

Trong khi phát triển dịch vụ WCF .Net 4.0 trên Windows 7 bằng cách sử dụng VS2012 Pro (Update 4), tôi thấy mình cần cài đặt [Windows 8.0 SDK] (http://msdn.microsoft.com/en-us/windows/desktop/ hh852363.aspx), không phải là [Windows 7 SDK] (http://www.microsoft.com/en-ca/download/details.aspx?id=8279) như một cách khác có thể giả định. –

+0

@MattDonald bạn phải đặt câu trả lời riêng biệt, vì vậy tôi có thể bỏ phiếu cho nó. – Avram

+1

@Avram Câu trả lời riêng được tạo! –

2

Trong khi phát triển dịch vụ WCF .Net 4.0 trên Windows 7 bằng cách sử dụng VS2012 Pro (Update 4), tôi thấy rằng tôi cần cài đặt Windows 8.0 SDK chứ không phải Windows 7 SDK. (Đã thêm câu trả lời này để thay thế nhận xét trước của tôi).