Soru Visual Studio'da IIS sorunu nasıl çözülür?


Web servisimi görsel stüdyosunda çalıştırmayı denedim. Ben gibi bir sorunla karşılaştım:

---------------------------
Microsoft Visual Studio
---------------------------
Unable to launch the IIS Express Web server.

Failed to register URL "http://localhost:63591/" for site "xxxxxx" application
"/". Error description: The process cannot access the file because it is being
used by another process. (0x80070020)

---------------------------
OK   
---------------------------

Görev yöneticisini gördüm ve PID 4'ün Sistem tarafından kullanıldığını ve açıklaması olduğunu NT Kernel & System. Bu yüzden durmaya çalıştım. http service. Tüm bağımlılık hizmetleri durdu. Ancak, http hizmetini durdurma gibi bir sorunla karşılaşıyorum

The service is starting or stopping.  Please try again later.

Bu yüzden hizmeti el ile durdurmaya çalıştım. Ancak Son işlem devre dışı bırakıldı. Bu sorunla ilgili herhangi bir kişi yardımcı olabilirse yardımcı olacaktır

Teşekkür ederim,

Priya


44
2018-03-18 07:26


Menşei




Cevaplar:


itibaren https://www.davidsalter.co.uk/unable-to-launch-the-iis-express-web-server-error-0x80070020/

Hata kodu 0x80070020 anlamına geliyor ERROR_SHARING_VIOLATIONIIS Express (veya IIS) durumunda, dinlemeye çalıştığı bağlantı noktasının başka bir işlem tarafından kullanıldığı anlamına gelir.

Kullan netstat portu hangi uygulamanın kullandığını öğrenmek için komut.

netstat -ao | findstr <port_number_to_search_for>

a parametresi, tüm bağlantıları ve dinleme bağlantı noktalarını görüntülemek için netstat'a bildirir.

o parametresi, bağlantıyla ilişkili işlem kimliğini görüntülemek için netstat'a bildirir.

Yukarıdaki netstat komutunu çalıştırmak aşağıdaki gibi bir çıktı üretecektir:

C:\>netstat -ao | findstr 4026
TCP    12.0.0.1:4026        cs-pc:4026         LISTENING       9544

Görüntülenen son numara (9544 burada) işlem kimliğidir.


76
2018-01-27 14:34



Mükemmel cevap! Sadece çözümü tanımlamakla kalmıyor, aynı zamanda parametrelerin anlamını da dahil ediyorsunuz. Bütün cevapların böyle olmasını diliyorum! - Christian Payne
Bu bana yardımcı oldu ve rahatsız edici PID, Chrome.exe çıktı. Chrome'u yeniden başlattım ve sorun gitti. - astrosteve
Mükemmel cevap. Bunu kullanarak skype'ın hem port 80 hem de port 443'te dinlediğini fark ettim. Skype'ı öldürdüm ve normalde iisexpress'i piyasaya sürdüm, şimdi 80 ve 443 numaralı portlar için ekstra bağlantılarımı gösterdim. - Alastair
yükseltilmiş bir cmd pencerede koş TASKKILL /PID 2756 /F değiştirmek 2756 işlem kimliğinizle - stackoverfloweth
Bu ile daha hızlı yapılabilir -n Ayrıca geçiş - "sayısal" çıkışı kullanır, yani IP adreslerini ana bilgisayar adlarına çözümlemek için DNS sorgulama zamanını boşa harcamaz. - Tullo_x86


Bende aynı problem vardı. Sadece Visual Studio'yu yeniden başlattım ve işe yaradı.


17
2018-03-03 23:55



Bilgisayarım güncellemelerden yeniden başlatıldı ve netstat bağlantı noktasını kullanarak hiçbir işlem göstermedi. Bu sadece işe yarayan bir çözümdü. Teşekkürler! - goodies4uall
benim de makinemi yeniden başlatmak zorunda kaldı - Mahmoud Hboubati
Şaşırtıcı bir şekilde yeniden başlatılan Visual Studio (2017) benim için de işe yaradı. Teşekkürler! - Thomas Gassmann


Aynı sorunu yaşadım. @Kautsky Lozano yukarıda belirtildiği gibi Başka bir uygulama bu bağlantı noktasını kullanıyor.

Yani [bir Windows işletim sistemi için] sadece:

  • Açık Kaynak Monitörü (Görev Yöneticisi -> Performans -> Açık Kaynak Monitörü)
  • Tıkla  sekmesi.
  • Ve de TCP Bağlantıları IIS Express'in kullandığı ve kapattığı Yerel Bağlantı noktasını kullanan uygulamayı bulun. (davamda firefox oldu)

10
2017-07-05 09:12



Güzel cevap, bana yardımcı oldu, teşekkürler. - Mahmoud
@ Απόπατος çok yardımsever. - WSk
benim için çözüm bu, teşekkürler - Eman


Visual Studio 2012'den 2015'e bir çözüm geliştirdikten sonra aynı soruna girdim. Buraya geldim ve koştum. netstat sadece başka bir uygulamanın aynı portu kullanmadığını bulmak için. Aynı siteler ile eşlenmiş aynı bağlantı noktaları vardı çıktı applicationhost.config en Users/<username>/Documents/IISExpress/config ve applicationhost.config içinde .vs çözümümün içindeki klasör. Sorunun, yükseltme işleminden sonra da başlamadığına dikkat etmeliyim. Sadece bir sabah sürekli olarak başarısız olmaya başlıyor. Bir çift yeniden başlatma sorunu da çözmedi.

Çakışan siteleri Belgelerim'de depolanmış olandan kaldırma ve Visual Studio'yu yeniden başlatma sorunu çözdü.


7
2017-10-21 11:45



Bu bana yardımcı oldu: applicationhost.config içinde .vs\config Çözüm klasörünüzün altındaki klasörü. - Erik Oppedijk


Komut konsoluna girmeden en kolay ilk geçiş sadece tüm uygulamaları (VS dahil) kapatmak, ardından VS'yi tek başına başlatmak ve tekrar denemek olacaktır. Tarayıcınız çakışmaya neden olan başka bir uygulama olabilir. Benim durumumda Chrome neden oldu ve her şeyi kapatıp VS'yi yeniden başlatırken çözüldü. Chrome'u tekrar açtım ve her şey yolundaydı.

Yukarıdaki netstat şeyler yararlıdır, ama bana göre sadece önerdiğim şeyi yapamazsanız.


2
2018-01-11 19:05





Başka bir uygulama bu bağlantı noktasını kullanıyor. Bu size yardımcı olabilir


1
2018-05-13 13:06





Bu problemi yaşadım MVC projesini yükseltmek. Daha yeni MVC .csproj'u mevcut .csproj dosyanızın üzerine kopyaladım ve sonra tamamen çalışan bir projeye geri döndüm. Düşünemediğim şey eski .csproj'daki mevcut port numarasıdır. Yeni projede yeni bir liman numarası vardı, ancak Proje / Montaj Adı paylaşıldı. Bu, IIS Express'in zihnini kaybetmesini ve bu istisnayı atmasını sağlamak için yeterliydi.

Sadece eski bağlantı noktası numarasını gitmeden kazmak ve Proje Ayarları'na dahil etmek için IIS Express URL'sini değiştirmek bunu düzeltmek için yeterliydi.


1
2018-05-31 20:22





Web Projesine Git Özellikler >> Web >> Proje Url >> Bağlantı noktası değiştir yani: http: // localhost: 22345 / => http: // localhost: 22346 / Umarım bu yardım!


1
2017-07-16 14:14



Ekran çekimi: i.stack.imgur.com/YyMzW.png - binhtruong.it


Şimdiden aşağıdakileri denedim:

  • Yeniden başlatılan Visual Studio
  • Belirli numaramı dinleyen tüm bağlantı noktalarını kontrol et, ancak her zaman sıfır sonucu döndür. Limanda bir süreç dinlemiyor.
  • Bunu da kullanıyorum ama sıfır sonuçları.

    netstat -aon | bul: "80"

  • Ben de kullanmayı denedim ama aynı zamanda sıfır sonuçlara geri döndüm.

    netstat -ao | findstr 

Yani yaptığım şey bu "silmek"Microsoft.VsHub.Server.HttpHostx64.exe"Sonra projem başarıyla başlatıldı ve tarayıcıda başlatıldı. Hata giderildi. Neden emin değilim ama işe yarıyor.

İşte ekran görüntüsü:

enter image description here


0
2018-02-22 14:22





Bütün cevapları özetlemek. 2 tane çözüm var. İkisi de benim için çalıştı.  - 1. Çözüm Aynı bağlantı noktasını kullanan uygulamayı öldür.  - 2. çözüm Projeniz için farklı bir bağlantı noktası kullanmak için IIS Express'i yapılandırın.

1. Çözüm (hata iletisinde bağlantı noktasını varsayan 443 idi) Komut satırında çalış:

netstat -ao | findstr 443

döndürür: TCP 0.0.0.0:443 pe01:0 LISTENING 2904 Son numara (@ chris-schiffhauer sayesinde) öldürmek için PID'dir. Görev Yöneticisi -> İşlemler -> [Tüm Kullanıcılardan İşlemleri Göster] bölümüne gidin, PID = 2904 ile bir işlemi öldürün. Benim durumumda, VmWare ev sahibi oldu.

2. çözüm (Varsayalım mesajı: URL kaydedilemedi "http: // localhost: 433 /"site için" MyProject.Website0 "...).  Folloing dosyasını notespad'de açın ++: C:\Users\MY_USER_NAME\Documents\IISExpress\config\applicationhost.config İçinde aşağıdakileri içeren bir satır bulun:

<site name="MyProject.Website0" id="...
...
            <bindings>
                <binding protocol="http" bindingInformation="*:80:localhost" />
                <binding protocol="https" bindingInformation="*:443:localhost" />
            </bindings>

Ya değiştirmek 433 başka bir şeye 4330 veya çakışmayı sil <binding.../> etiket.


0
2017-07-23 22:41