Svcutil.exe trong Windows 7 ở đâu?


105

Đối với WCF của tôi, tôi cần tạo tệp cấu hình cho ứng dụng khách của mình để chỉ định những thứ như ràng buộc của dịch vụ, địa chỉ của dịch vụ và hợp đồng.

Câu trả lời:


149

Gõ vào Microsoft Visual Studio Command Prompt: where svcutil.exe. Trên máy của tôi, nó ở:C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcUtil.exe


16
Tôi hiểu rồi. Mở dấu nhắc lệnh Visual studio sau đó nhập "where svcutil.exe". Của tôi ở bên dưới: c: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NetFX 4.0 Tools \ SvcUtil.exe hoặc c: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ SvcUtil.exe
nellbryant

7
Bản thân lệnh promt được tìm thấy trong menu bắt đầu bên dưới Visual Studio 2015\Visual Studio Tools\Developer Command Prompt for VS2015(ít nhất là cho Visual Studio 2015).
Zero3 ngày

Nếu bạn đang cố cài đặt phiên bản 7.1 của SDK (và bạn đang sử dụng Windows 7 x64), có vẻ như MS đã xóa svcutil.exe khỏi nó. Không có gì để tìm thấy cho dù bạn nhảy qua tất cả các vòng để gặp lỗi cài đặt hay bạn tải xuống ISO, nó chỉ là không có. Điều đó lãng phí khoảng 3 giờ trong ngày của tôi ... cảm ơn MS. Tại sao họ lại loại bỏ nó? Không biết. Dù sao tôi đã có thể cài đặt phiên bản 6.1 của SDK, mà vẫn chứa svcutil.exe (trong thư mục bin), sử dụng Chocolatey, từ đây: chocolatey.org/packages/windows-sdk-6.1
David Barrows


18

Nếu bạn đang sử dụng so với 2010 thì bạn có thể tải xuống

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools

3

Cố gắng tạo lớp proxy qua SvcUtil.exe bằng lệnh

Cú pháp:

svcutil.exe /language:<type> /out:<name>.cs /config:<name>.config http://<host address>:<port>

Thí dụ:

svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceSamples/myService1

Để kiểm tra xem dịch vụ có khả dụng hay không, hãy thử trong URL IE của bạn từ ví dụ sau khi không có hậu tố myService1


mục đích của việc tạo một lớp proxy là gì? Nếu tôi thêm tham chiếu dịch vụ vào một dự án C #, nó dường như tạo ra nó cho tôi?
Tích

Để giải mã dữ liệu. Bạn có thể thêm tham chiếu dịch vụ vào dự án, nhưng giải pháp để có nó dưới dạng các lớp được tạo riêng đối với tôi dường như rõ ràng hơn nhiều. Ví dụ: nếu bạn đang sử dụng xác thực hoặc ánh xạ. Ngoài ra, khi cấu trúc thường xuyên thay đổi, việc tạo lại các tham chiếu luôn gây ra rất nhiều rắc rối.
stenly

2

Để tìm bất kỳ vị trí tệp nào

  1. Trong cửa sổ bắt đầu menu Hộp tìm kiếm
  2. gõ svcutil.exe
  3. Chờ kết quả được điền
  4. Nhấp chuột phải vào svcutil.exe và chọn 'Mở vị trí tệp'
  5. Sao chép đường dẫn Windows explorer

2
Không hoạt động trên hệ thống của tôi, mặc dù svcutil có mặt ở bốn địa điểm.
JohnL 4

4
@ JohnL4, bạn có thể muốn xem xét mở rộng vị trí mà tiện ích Windows Search trông. Bạn có thể thực hiện việc này bằng cách mở Control Panel-> Indexing Options và nhấp vào nút Modify để thêm các thư mục bổ sung vào các vị trí Index. (Trong trường hợp này, có vẻ như "Program Files" hoặc "Program Files (x86)" không có trong danh sách hiện tại của "Vị trí bao gồm" của bạn)
kmote

2

Tôi không nghĩ rằng việc tìm vị trí của Svcutil.exe là rất quan trọng. Bạn có thể sử dụng dấu nhắc Lệnh Visual Studio để thực thi trực tiếp mà không cần đường dẫn tuyệt đối của nó,

Syntax:
svcutil.exe /language:[vb|cs] /out:[YourClassName].[cs|vb] /config:[YourAppConfigFile.config] [YourServiceAddress]

example:
svcutil.exe /language:cs /out:MyClientClass.cs /config:app.config http://localhost:8370/MyService/

3
Thực ra là không. Dấu nhắc lệnh Visual Studio chỉ đặt một số biến môi trường, một trong số đó là PATH, trước khi thực thi cmd.exe. Nếu vì bất kỳ lý do hợp pháp nào mà svcutil.exenó không có trong bất kỳ PATHthư mục nào , bạn không thể thực thi nó mà không có đường dẫn tuyệt đối.
laika
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.