svcutil.exe ใน Windows 7 อยู่ที่ไหน


105

สำหรับ WCF ของฉันฉันจำเป็นต้องสร้างไฟล์กำหนดค่าสำหรับแอปพลิเคชันไคลเอนต์ของฉันเพื่อระบุสิ่งต่างๆเช่นการผูกบริการที่อยู่ของบริการและสัญญา

คำตอบ:


149

พิมพ์Microsoft Visual Studio Command Prompt: where svcutil.exe. บนเครื่องของฉันอยู่ใน:C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcUtil.exe


16
ฉันเข้าใจแล้ว. เปิดพรอมต์คำสั่ง Visual studio จากนั้นพิมพ์ "where svcutil.exe" ของฉันอยู่ด้านล่าง: c: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NetFX 4.0 Tools \ SvcUtil.exe หรือ c: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ SvcUtil.exe
nellbryant

7
คำสั่ง promt อยู่ในเมนูเริ่มใต้Visual Studio 2015\Visual Studio Tools\Developer Command Prompt for VS2015(สำหรับ Visual Studio 2015 เป็นอย่างน้อย)
Zero3

หากคุณกำลังพยายามติดตั้ง SDK เวอร์ชัน 7.1 (และคุณใช้ Windows 7 x64) ดูเหมือนว่า MS ได้ลบ svcutil.exe ออกไปแล้ว ไม่พบที่ไหนเลยไม่ว่าคุณจะกระโดดข้ามห่วงทั้งหมดเพื่อหลีกเลี่ยงข้อผิดพลาดในการติดตั้งหรือดาวน์โหลด ISO แต่ก็ไม่ได้อยู่ที่นั่น เสียเวลาไปประมาณ 3 ชั่วโมงทั้งวัน ... ขอบคุณ MS. ทำไมพวกเขาถึงลบมันออก? ไม่รู้. อย่างไรก็ตามฉันสามารถติดตั้ง SDK เวอร์ชัน 6.1 ซึ่งยังคงมี svcutil.exe (ในโฟลเดอร์ bin) โดยใช้ Chocolatey จากที่นี่: chocolatey.org/packages/windows-sdk-6.1
David Barrows

21

ด้วย windows เวอร์ชันล่าสุด (เช่น Windows 10 เซิร์ฟเวอร์อื่น ๆ ) ให้พิมพ์ / ค้นหา "Developers Command prompt .. " จะปรากฏพรอมต์คำสั่งที่เกี่ยวข้องสำหรับเวอร์ชัน Visual Studio

เช่น Developer Command Prompt สำหรับ VS 2015

เพิ่มเติมที่นี่https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx


ที่ควรรวมเข้ากับ VS.
p__d


4

พยายามสร้างคลาสพร็อกซีผ่าน SvcUtil.exe ด้วยคำสั่ง

ไวยากรณ์:

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

ตัวอย่าง:

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

หากต้องการตรวจสอบว่ามีบริการให้ลองใช้ใน IE URL ของคุณจากตัวอย่างที่ไม่มี myService1 postfix


จุดประสงค์ของการสร้างคลาสพร็อกซีคืออะไร? ถ้าฉันเพิ่มการอ้างอิงบริการในโครงการ C # ดูเหมือนว่าจะสร้างให้ฉัน?
PositiveGuy

สำหรับข้อมูล deserialization คุณสามารถเพิ่มการอ้างอิงบริการให้กับโปรเจ็กต์ได้ แต่วิธีแก้ปัญหาให้เป็นคลาสที่สร้างขึ้นเองสำหรับฉันดูเหมือนจะชัดเจนกว่ามาก ตัวอย่างเช่นหากคุณใช้การตรวจสอบความถูกต้องหรือการแมป นอกจากนี้เมื่อโครงสร้างมีการเปลี่ยนแปลงบ่อยๆการสร้างข้อมูลอ้างอิงใหม่มักจะทำให้เกิดความยุ่งเหยิง
เคร่งครัด

2

เพื่อค้นหาตำแหน่งไฟล์ใด ๆ

  1. ในช่องค้นหาเมนูเริ่มของ Windows
  2. พิมพ์ svcutil.exe
  3. รอให้ผลลัพธ์ปรากฏ
  4. คลิกขวาที่ svcutil.exe และเลือก 'Open file location'
  5. คัดลอกเส้นทาง Windows explorer

2
ไม่ทำงานในระบบของฉันแม้ว่า svcutil จะมีอยู่ในสี่ตำแหน่ง
JohnL4

4
@ JohnL4 คุณอาจต้องการพิจารณาขยายตำแหน่งที่ยูทิลิตี้ Windows Search ดู คุณสามารถทำได้โดยเปิด Control Panel-> Indexing Options แล้วคลิกปุ่ม Modify เพื่อเพิ่มโฟลเดอร์เพิ่มเติมใน Index Locations (ในกรณีนี้ดูเหมือนว่า "ไฟล์โปรแกรม" หรือ "ไฟล์โปรแกรม (x86)" ไม่อยู่ในรายการ "ตำแหน่งที่รวม" ของคุณในปัจจุบัน)
kmote

2

ฉันไม่คิดว่าการค้นหาตำแหน่งของ Svcutil.exe เป็นเรื่องสำคัญมาก คุณสามารถใช้พรอมต์คำสั่ง Visual Studio เพื่อดำเนินการได้โดยตรงโดยไม่มีพา ธ สัมบูรณ์

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
ไม่จริง พรอมต์คำสั่ง Visual Studio จะตั้งค่าตัวแปรสภาพแวดล้อมบางอย่างหนึ่งในนั้นคือPATHก่อนที่จะเรียกใช้ cmd.exe หากเหตุผลใดก็ตามที่svcutil.exeไม่มีอยู่ในPATHไดเร็กทอรีใด ๆคุณจะไม่สามารถดำเนินการได้หากไม่มีพา ธ สัมบูรณ์
ไลก้า
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.