Saya mencoba menjalankan layanan web saya melalui studio visual. Saya menghadapi masalah seperti:
---------------------------
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
---------------------------
Saya melihat task manager dan menemukan bahwa PID 4 digunakan oleh Sistem dan Deskripsi nya. NT Kernel & System.
Jadi saya mencoba menghentikan http service
. Semua layanan ketergantungan dihentikan. Tapi saya menghadapi masalah dalam menghentikan layanan http seperti
The service is starting or stopping. Please try again later.
Jadi, saya mencoba berhenti dan memulai layanan secara manual. Tetapi proses End dinonaktifkan. Akan sangat membantu jika ada yang bisa membantu mengatasi masalah ini
visual-studio
iis-express
Priya
sumber
sumber
Jawaban:
Dari https://www.davidsalter.co.uk/unable-to-launch-the-iis-express-web-server-error-0x80070020/
Kode kesalahan
0x80070020
berartiERROR_SHARING_VIOLATION
, yang dalam kasus IIS Express (atau IIS) berarti bahwa port yang berusaha untuk mendengarkan sedang digunakan oleh proses lain.Gunakan
netstat
perintah untuk mengetahui aplikasi mana yang menggunakan port.The
a
parameter memberitahu netstat untuk menampilkan semua koneksi dan port mendengarkan.The
o
parameter memberitahu netstat untuk menampilkan ID proses yang berhubungan dengan koneksi.Menjalankan perintah netstat di atas akan menghasilkan keluaran seperti:
Nomor terakhir yang ditampilkan (9544 di sini) adalah ID proses.
sumber
TASKKILL /PID 2756 /F
ganti2756
dengan ID proses Anda-n
sakelar juga - ini menggunakan keluaran "numerik", yang berarti tidak membuang waktu untuk menanyakan DNS untuk menyelesaikan alamat IP menjadi nama host.Saya mengalami masalah serupa ketika mencoba menjalankan proyek dari Visual Studio 2019 di Windows 10. Aplikasi tidak dapat dimulai karena port tampaknya sedang digunakan oleh proses lain. Namun,
netstat
perintah tersebut menunjukkan bahwa port tersebut tidak digunakan oleh aplikasi apa pun.Setelah menghabiskan 2 hari Googling saya menemukan solusi yang berhasil untuk saya. Porta yang saya coba gunakan berada dalam kisaran port yang dikecualikan yang dapat Anda lihat dengan menjalankan perintah:
Penyebab yang memesan port ini dalam kasus saya adalah Docker untuk Windows dan Hyper-V
Solusinya
Saya menghapus Docker (karena saya tidak membutuhkannya) dan menonaktifkan Hyper-V. Untuk menonaktifkan Hyper-V: Buka: Control Panel-> Program dan Fitur-> Hidupkan atau matikan fitur Windows. Hapus centang Hyper-V dan nyalakan ulang komputer.
Setelah restart, perintah
netsh interface ipv4 show excludedportrange protocol=tcp
menunjukkan tidak ada port yang dicadangkan.Saya kemudian menambahkan port untuk aplikasi saya ke rentang port yang dikecualikan dengan menjalankan perintah berikut dari baris perintah yang ditinggikan:
Kemudian saya mengaktifkan kembali Hyper-V (Docker dapat diinstal ulang jika diperlukan) dan memulai ulang komputer lagi.
Hyper-V sekarang mencadangkan portnya tanpa mengganggu port yang digunakan oleh aplikasi saya: Reserved Port Ranges
sumber
Saya memiliki masalah yang sama. Saya baru saja memulai ulang Visual Studio dan berhasil.
sumber
Saya memiliki masalah yang sama. Seperti yang disebutkan oleh @Kautsky Lozano di atas, aplikasi lain menggunakan port tersebut.
Jadi [untuk OS Windows]:
sumber
Saya mengalami masalah yang sama setelah kami meningkatkan solusi dari Visual Studio 2012 ke 2015. Saya datang ke sini dan berlari
netstat
hanya untuk menemukan bahwa tidak ada aplikasi lain yang menggunakan port yang sama. Ternyata aku punya situs yang sama dengan port yang sama dipetakan diapplicationhost.config
diUsers/<username>/Documents/IISExpress/config
danapplicationhost.config
di.vs
folder dalam solusi saya. Saya harus mencatat bahwa masalahnya juga tidak dimulai tepat setelah peningkatan. Itu baru saja mulai gagal secara konsisten suatu pagi. Beberapa reboot tampaknya juga tidak menyelesaikan masalah.Menghapus situs yang berkonflik dari situs yang disimpan di Dokumen saya dan memulai ulang Visual Studio memecahkan masalah.
sumber
applicationhost.config
ada di.vs\config
folder di bawah folder solusi Anda.Jika netstat tidak menampilkan apa pun yang sudah menggunakan port
netstat -ano | findstr <your port number>
Port mungkin dikecualikan, coba perintah ini untuk melihat apakah jangkauan diblokir oleh sesuatu yang lain:
netsh interface ipv4 show excludedportrange protocol=tcp
Anda dapat mencoba membuka blokir rentang dari port awal untuk sejumlah port (perlu Command Prompt dengan Administrator):
netsh int ip delete excludedportrange protocol=tcp numberofports=<number of ports> startport=<start port>
Bagi saya, saya tidak dapat membuka blokir ini, saya hanya mendapat "Akses ditolak", jadi saya akhirnya harus memilih port lain untuk situs saya.
sumber
Aplikasi lain menggunakan port itu. Ini bisa membantu Anda
sumber
Saya baru saja mengalami masalah ini meskipun netstat tidak menunjukkan konflik apa pun.
Hal berikut memperbaikinya untuk saya:
sumber
Setelah memperbarui Windows 10 dan / atau Visual Studio 16+ itu mungkin terjadi karena bug internal yang IISExpress gagal untuk mendaftarkan situs web pengembangan karena tidak lagi menerima
localhost
koneksi.Untuk memperbaiki masalah ini, Anda hanya perlu mendaftar kembali pengikatan. Untuk melakukannya, jalankan dari shell administratif dengan perintah berikut:
sumber
Saya mengalami masalah ini saat memutakhirkan proyek MVC . Saya menyalin lebih baru-MVC .csproj ke file .csproj saya yang ada kemudian bekerja kembali ke Proyek yang berfungsi penuh. Yang gagal saya pertimbangkan adalah nomor port yang ada di .csproj lama. Proyek baru memiliki nomor port baru, namun berbagi Nama Proyek / Majelis. Itu cukup untuk membuat IIS Express kehilangan akal dan membuang pengecualian ini.
Hanya menggali nomor port lama dari git dan mengubah URL IIS Express untuk memasukkannya ke dalam Pengaturan Proyek sudah cukup untuk memperbaikinya.
sumber
Langkah pertama yang paling mudah dalam hal ini tanpa masuk ke konsol perintah adalah dengan menutup semua aplikasi (termasuk VS), lalu meluncurkan VS dengan sendirinya dan mencobanya lagi. Sepertinya ada aplikasi lain seperti browser Anda yang menyebabkan konflik. Dalam kasus saya, Chrome yang menyebabkannya dan diselesaikan saat mematikan semuanya dan memulai ulang VS. Saya membuka Chrome lagi dan semuanya baik-baik saja.
Hal-hal netstat di atas berguna, tetapi bagi saya itu hanya jika Anda tidak dapat melakukan apa yang saya sarankan.
sumber
untuk meringkas semua jawaban. Ada 2 solusi. Keduanya bekerja untuk saya. - Solusi # 1 Bunuh aplikasi yang menggunakan port yang sama. - Solusi # 2 Konfigurasi IIS Express untuk menggunakan port yang berbeda untuk proyek Anda.
Solusi # 1 (misalkan port dalam pesan kesalahan adalah 443) Jalankan di baris perintah:
ia mengembalikan:
TCP 0.0.0.0:443 pe01:0 LISTENING 2904
Angka terakhir (berkat @ chris-schiffhauer) adalah PID untuk dibunuh. Pergi ke Task Manager -> Proses -> [Tampilkan Proses Dari Semua pengguna], Hentikan proses dengan PID = 2904. Dalam kasus saya, itu adalah host VmWare.Solusi # 2 (Misalkan pesannya adalah: Gagal mendaftarkan URL " http: // localhost: 433 / " untuk situs "MyProject.Website0" ... ). Buka file berikut di notepad ++:
C:\Users\MY_USER_NAME\Documents\IISExpress\config\applicationhost.config
Temukan di dalamnya baris yang berisi:Ubah
433
ke yang lain, seperti4330
atau hapus<binding.../>
tag yang bentrok .sumber
Dalam kasus saya, melakukan hal berikut melakukan triknya:
Ketika saya me-restart Visual Studio, itu memberi proyek nomor port yang sama sekali baru dan berjalan dengan sempurna
sumber
Nomor port tidak cocok
Dalam kasus saya, masalahnya ada di Tag Bindings saya yang ditemukan di file konfigurasi di .vs di bawah folder solusi saya, nomor port tidak cocok. Bindingnya adalah sebagai berikut
Dan dalam pengaturan saya, saya menetapkan url sebagai
http://localhost:1943/
Jadi yang saya lakukan adalah menghapus pengikatan di dalam dan menjalankan aplikasi web saya, lalu menghasilkan pengikatan baru dengan nomor yang berbeda lalu saya menyalin port yang baru dibuat ke pengaturan saya, lalu kesalahan hilang.
sumber
Buka Properti Proyek Web >> Web >> Url Proyek >> Ubah port yaitu: http: // localhost: 22345 / => http: // localhost: 22346 / Semoga bantuan ini!
sumber
Saya dapat memperbaiki masalah ini dengan menghapus semuanya dari
<site>
hingga</site>
tag diUsers/<username>/Documents/IISExpress/config/applicatiohost.config
mengajukansumber
Setelah menghabiskan setengah hari untuk mencoba memperbaiki masalah yang sama ini, saya merasa saya harus menambahkan solusi yang pada akhirnya berhasil untuk saya.
TL; DR Jika
netstat
menunjukkan bahwa masalah tidak digunakan, masih coba beberapa lainnya dalam kisaran yang sama sekali berbedaSaya pernah mengalami masalah ini sebelumnya tetapi biasanya menemukan memulai ulang studio visual, mengubah port (selisih 1) atau me-reboot melakukan triknya. Namun pada kesempatan ini tidak ada yang membantu, dan
netstat
tidak menemukan proses yang bertentangan. Saya bahkan menginstal ulang IIS dan studio visual serta menghapus beberapa program lain yang saya curigai dapat mengganggu. Sepertinya IIS mencoba meluncurkan beberapa contoh dari situs yang sama.Akhirnya saya mencoba lari
netstat
tanpafindstr
. Saya secara visual memindai daftar port aktif dan memperhatikan bahwa meskipun yang saya coba tidak terdaftar, ada beberapa proses yang menggunakan port dalam kisaran yang sama. Jadi sebagai gantinya saya mencari rentang yang gratis, memilih nomor port dan tampaknya sekarang berfungsi.Saya ingin mendengar apakah ada yang bisa menjelaskan mengapa ini mungkin berhasil?
sumber
Saya mengalami masalah ini di Visual Studio 2019 hari ini dan menghabiskan 3 jam sebelum akhirnya mencari tahu masalahnya. Visual Studio menggunakan 2 file untuk melacak nomor port SSL, jadi Anda harus memperbaiki keduanya dan Anda harus memperbaiki keduanya saat Visual Studio ditutup. Kedua file tersebut adalah file applicationhost.config yang ada di folder .vs \ ??? \ config dari solusi Anda; dan juga folder .csproj.user dari proyek web Anda. Edit kedua file dan hapus konfigurasi yang melanggar. Bahkan mungkin hanya menghapus kedua file tersebut. Kemudian buka kembali aplikasi Anda di Visual Studio. Semoga berhasil!
sumber
Itu berhasil untuk saya.
sumber
Saya mengikuti instruksi @ Zoti dan menggunakan Resource Monitor untuk menemukan port yang dimaksud.
Ternyata Outlook telah secara acak diberi port untuk saluran komunikasinya. Moral dari ceritanya, bisa jadi apa saja.
sumber
Alasan kesalahan ini adalah Anda memberikan nomor port yang salah ke aplikasi Anda.
gunakan port mendekati angka 8080, yaitu:
untuk mengubah port untuk aplikasi Anda di visual-Studio
sumber
Saya sudah mencoba yang berikut ini:
Saya juga mencoba menggunakan ini tetapi tidak ada hasil.
netstat -aon | temukan ": 80"
Saya juga mencoba menggunakan tetapi juga mengembalikan hasil nol.
netstat -ao | findstr
Jadi yang saya lakukan adalah menghapus " Microsoft.VsHub.Server.HttpHostx64.exe " ini kemudian proyek saya berhasil dimulai dan diluncurkan di browser. Kesalahan telah diperbaiki. Saya tidak yakin mengapa tetapi berhasil.
Ini tangkapan layarnya:
sumber
Saya memiliki masalah yang sama tetapi masalah tersebut teratasi ketika saya memulai ulang menggunakan hak istimewa admin. (Mungkin baru saja restart)
sumber
Saya mengalami masalah yang sama hari ini, dan tidak ada yang berhasil saya temukan di internet. Saya telah menggunakan port 2057 selama bertahun-tahun, tetapi tiba-tiba itu tidak berfungsi lagi. Menggantinya ke nomor rendah lain seperti 2058 memberikan pesan kesalahan yang sama, tetapi ketika saya mengubahnya ke 20057, semuanya berfungsi kembali. Mungkin ada yang berubah dengan cara penanganan nomor port yang lebih rendah.
sumber
IIS Express Gagal Memulai Solusi di Visual Studio
sumber