Windows 7'de svcutil.exe nerede?


105

WCF'im için, istemci uygulamamın hizmetin bağlanması, hizmetin adresi ve sözleşme gibi şeyleri belirtmesi için yapılandırma dosyası oluşturmam gerekiyor.

Yanıtlar:


149

Yazın Microsoft Visual Studio Command Prompt: where svcutil.exe. Benim makinemde:C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcUtil.exe


16
Anladım. Visual studio komut istemini açın ve "where svcutil.exe" yazın. Benimki aşağıdadır: c: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NetFX 4.0 Tools \ SvcUtil.exe veya c: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ SvcUtil.exe
nellbryant

7
Komut isteminin kendisi, altındaki başlat menüsünde bulunur Visual Studio 2015\Visual Studio Tools\Developer Command Prompt for VS2015(en azından Visual Studio 2015 için).
Zero3

SDK'nın v 7.1 sürümünü yüklemeye çalışıyorsanız (ve Windows 7 x64 kullanıyorsanız), MS svcutil.exe'yi ondan kaldırmış gibi görünüyor. Kurulum hatalarının üstesinden gelmek için tüm çemberlerden atlayıp atlamanız veya ISO'yu indirmeniz, hiçbir yerde bulunamaz, sadece orada değil. Bu günümün yaklaşık 3 saatini boşa harcadı ... teşekkürler MS. Neden kaldırsınlar? Bilmiyorum. Yine de SDK'nın hala svcutil.exe (bin klasöründe) içeren 6.1 sürümünü Chocolatey kullanarak buradan yükleyebildim: chocolatey.org/packages/windows-sdk-6.1
David Barrows


18

2010 vs kullanıyorsanız, o zaman alabilirsiniz

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

3

Proxy sınıfını SvcUtil.exe aracılığıyla komutla oluşturmayı deneyin

Sözdizimi:

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

Misal:

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

Servisin kullanılabilir olup olmadığını kontrol etmek için IE URL'nizde myService1 postfix olmadan deneyin


bir proxy sınıfı oluşturmanın amacı nedir? Hizmet referansını bir C # projesine eklersem, benim için onu oluşturuyor gibi görünüyor?
PositiveGuy

Veri serisini kaldırma için. Hizmet referansını projeye ekleyebilirsiniz, ancak kendi oluşturulmuş sınıflar olarak sahip olmanın çözümü bana çok daha açık görünüyor. Örneğin, doğrulamalar veya eşlemeler kullanıyorsanız. Ayrıca, yapı sık sık değiştiğinde, referansların yeniden oluşturulması her zaman çok fazla karışıklık yaratır.
stenly

2

Herhangi bir dosya konumunu bulmak için

  1. Windows başlat menüsünde Arama kutusu
  2. svcutil.exe yazın
  3. Sonuçların dolmasını bekleyin
  4. Svcutil.exe'ye sağ tıklayın ve 'Dosya konumunu aç'ı seçin
  5. Windows gezgini yolunu kopyala

2
Svcutil dört yerde mevcut olmasına rağmen sistemimde çalışmıyor.
JohnL4

4
@ JohnL4, Windows Arama yardımcı programının baktığı konumu genişletmeyi düşünebilirsiniz. Bunu, Denetim Masası-> Dizin Oluşturma Seçenekleri'ni açarak ve Dizin Konumlarına ek klasörler eklemek için Değiştir düğmesine tıklayarak yapabilirsiniz. (Bu durumda, "Program Dosyaları" veya "Program Dosyaları (x86)", "Dahil
Edilen

2

Svcutil.exe dosyasının yerini bulmanın çok önemli olduğunu sanmıyorum. Mutlak yolu olmadan doğrudan yürütmek için Visual Studio Komut istemini kullanabilirsiniz,

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
Aslında hayır. Visual Studio Komut istemi PATH, cmd.exe'yi çalıştırmadan önce yalnızca bazı ortam değişkenlerini ayarlar . Herhangi bir yasal nedenden dolayı svcutil.exeherhangi bir PATHdizinde değilse, onu mutlak yol olmadan çalıştıramazsınız.
laika
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.