Di mana svcutil.exe di Windows 7?


105

Untuk WCF saya, saya perlu membuat file konfigurasi untuk aplikasi klien saya untuk menentukan hal-hal seperti pengikatan layanan, alamat layanan dan kontrak.

Jawaban:


149

Ketik Microsoft Visual Studio Command Prompt: where svcutil.exe. Di mesin saya ada di:C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcUtil.exe


16
Saya mendapatkannya. Buka command prompt Visual studio lalu ketik "where svcutil.exe". Milik saya ada di bawah ini: c: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NetFX 4.0 Tools \ SvcUtil.exe atau c: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ SvcUtil.exe
nellbryant

7
Promt perintah itu sendiri ditemukan di menu mulai di bawah Visual Studio 2015\Visual Studio Tools\Developer Command Prompt for VS2015(setidaknya untuk Visual Studio 2015).
Zero3

Jika Anda mencoba menginstal SDK v 7.1 (dan Anda kebetulan menggunakan Windows 7 x64), tampaknya MS telah menghapus svcutil.exe darinya. Tidak ada tempat untuk ditemukan apakah Anda melewati semua rintangan untuk mengatasi kesalahan instalasi, atau Anda mengunduh ISO, hanya saja tidak ada. Itu menyia-nyiakan sekitar 3 jam hari saya ... terima kasih MS. Mengapa mereka menghapusnya? Tidak tahu. Bagaimanapun saya bisa menginstal versi 6.1 dari SDK, yang masih berisi svcutil.exe (di folder bin), menggunakan Chocolatey, dari sini: chocolatey.org/packages/windows-sdk-6.1
David Barrows


18

Jika Anda menggunakan vs 2010 maka Anda bisa mendapatkannya

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

3

Cobalah untuk menghasilkan kelas proxy melalui SvcUtil.exe dengan perintah

Sintaksis:

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

Contoh:

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

Untuk memeriksa apakah layanan tersedia coba di URL IE Anda dari contoh di atas tanpa postfix myService1


apa tujuan menghasilkan kelas proxy? Jika saya menambahkan referensi layanan ke proyek C #, tampaknya membuatnya untuk saya?
PositiveGuy

Untuk deserialisasi data. Anda dapat menambahkan referensi layanan ke proyek, tetapi solusi untuk menjadikannya sebagai kelas yang dihasilkan sendiri menurut saya jauh lebih jelas. Misalnya, jika Anda menggunakan validasi atau pemetaan. Juga ketika struktur sering berubah, regenerasi referensi selalu melakukan banyak kekacauan.
tegas

2

Untuk menemukan lokasi file apa pun

  1. Di jendela mulai menu kotak Pencarian
  2. ketik svcutil.exe
  3. Tunggu hasil terisi
  4. Klik kanan pada svcutil.exe dan Pilih 'Buka lokasi file'
  5. Salin jalur penjelajah Windows

2
Tidak berfungsi di sistem saya, meskipun svcutil ada di empat lokasi.
JohnL4

4
@ JohnL4, Anda mungkin ingin mempertimbangkan untuk memperluas lokasi tampilan utilitas Windows Search. Anda dapat melakukan ini dengan membuka Control Panel-> Indexing Options dan mengklik tombol Modify untuk menambahkan folder tambahan ke Index Locations. (Dalam kasus ini, tampaknya "Program Files" atau "Program Files (x86)" tidak ada dalam daftar "Lokasi yang Disertakan" saat ini)
kmote

2

Menurut saya tidak terlalu penting untuk menemukan lokasi Svcutil.exe. Anda dapat menggunakan Visual Studio Command prompt untuk mengeksekusi secara langsung tanpa jalur absolutnya,

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
Sebenarnya tidak. Visual Studio Command prompt hanya mengatur beberapa variabel lingkungan, salah satunya adalah PATHsebelum menjalankan cmd.exe. Jika karena alasan yang sah svcutil.exetidak ada di PATHdirektori mana pun , Anda tidak dapat menjalankannya tanpa jalur absolut.
laika
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.