Tidak dapat meluncurkan server Web IIS Express


310

Saya punya solusi asp.net MVC 4. Ketika saya mencoba membukanya menggunakan Visual studio 2012, saya mendapatkan kesalahan berikut:

Microsoft Visual Studio

Mengonfigurasi Web https://localhost:untuk ASP.NET 4.5 gagal. Anda harus secara manual mengkonfigurasi situs ini untuk ASP.NET 4.5 agar situs dapat berjalan dengan benar. Tidak dapat menemukan server https://localhost:44300/di mesin lokal. Pastikan server IIS lokal telah dikonfigurasi untuk mendukung komunikasi yang aman.

OK Bantuan

Meskipun solusinya terbuka. Juga, Ketika saya mencoba menjalankannya dari menu debug, saya mendapatkan kesalahan berikut:

 Unable to launch the IIS Express Web server.

The start URL specified is not valid. https://localhost:44300/

dan saya tidak bisa men-debug kode. bagaimana cara menghilangkan kesalahan ini dan men-debug / menjalankan situs web dari VS 2012?

Tolong sarankan.



4
Pesan kesalahan cukup jelas tentang apa yang salah: 1) You must manually configure this site for ASP.NET 4.5 in order for the site to run correctly.dan 2) The start URL specified is not valid.. Anda juga tampaknya menggunakan HTTPS; AFAIK IIS Express tidak mendukung itu (dan jika ya, Anda mungkin harus mengonfigurasinya, maka Make sure the local IIS server has been configured to support secure communicationsbagian itu). Sunting: Tampaknya mendukung SSL: riii.nl/apr5u , panduan langkah demi langkah oleh Hanselman sendiri!
RobIII

1
@Robel, saya melihat bahwa di properti situs, di bawah tab aplikasi, kerangka kerja target 4,5, dan di Web Tab, Tindakan Mulai adalah Halaman Saat Ini. saya harus mengubah url proyek ke localhost: 44300 ? Saya menggunakan IIS express 8
DotnetSparrow

Itu adalah pengaturan firewall :(
Moumit

1
Saya dapat mengatasi masalah ini dengan mengikuti cara - 1) Visual Studio - Opsi -> Pencarian - IIS 2) Centang "Gunakan versi 64 bit IIS Express untuk situs web dan proyek".
NanaFadanvis

Saya pikir ini akan membantu stackoverflow.com/a/54222339/2923956 .
Biswajit Panday

Jawaban:


377

Saya memiliki masalah yang sama persis.
Alasannya - file konfigurasi IIS buruk.

Coba hapus IISExpressfolder yang dibuat secara otomatis , yang biasanya terletak di %userprofile%/Documents, mis C:\Users\[you]\Documents\IISExpress.

Jangan khawatir, VS harus membuatnya lagi - benar, kali ini - setelah Anda menjalankan solusi Anda lagi.


EDIT: Baris perintah untuk menghapus folder:

rmdir /s /q "%userprofile%\Documents\IISExpress"

7
Ini berhasil untuk saya. Bahkan setelah menghapus dan menginstal ulang IIS Express 8, itu menyimpan file konfigurasi yang sama sehingga masalah saya tetap ada. Saya mengganti nama folder IISExpress ke sesuatu yang lain dan folder baru dibuat dengan versi bersih dari file konfigurasi.
nthpixel

2
"Di folder default Anda" Di mana tepatnya itu? Saya tidak melihatnya dalam solusi saya sama sekali.
Corey Ogburn

22
@CoreyOgburn Harus berada di bawah folder Documents dan IISExpress, (yaitu C: \ Users \ Corey \ Documents \ IISExpress \ Config) dan hapus folder config. Saya memiliki masalah yang sama tetapi ini tidak memperbaikinya untuk saya.
Arne H. Bitubekk

49
Terima kasih. Hanya saja jangan lupa untuk menutup lalu membuka kembali VS untuk itu untuk mengkonfigurasi ulang IIS Express.
Nick.T

6
@crokusek memiliki jawaban untuk Pembaruan VS2015 3. Arahkan ke folder ".vs \ config" di direktori solusi dan hapus file "applicationhost.config" di sana.
AJ.

234

Jika menggunakan VS2015 atau lebih tinggi

Pastikan proses iisexpress tidak berjalan.

Pastikan tidak ada proses lain yang menggunakan port yang Anda inginkan. Anda dapat melakukannya dengan mengeksekusi

netstat -a -b

di konsol (sebagai Administrator, ketik cmdmenu mulai, klik kanan dan pilih 'Jalankan sebagai administrator'). Jika Anda melihat entri yang menyatakan ESTABLISHED atau LISTENING misalnya, artinya beberapa proses lain menggunakan port ini. Anda harus menghentikan proses itu atau mengubah porta.

Kemudian hapus file berikut ini

<<path_to_solution_folder>>\.vs\config\applicationhost.config

perhatikan .vsfolder mungkin disembunyikan

kemudian temukan <<project-name>>.csproj.userfile, buka dengan editor teks (notepad) dan pastikan di IISUrlbawah WebProjectPropertiesdikonfigurasi ke <IISUrl>http://localhost:XXXXX/</IISUrl>mana XXXXXport yang Anda inginkan.

setelah melakukan ini dan mencoba memulai aplikasi yang mungkin Anda dapatkan

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.

Lalu pergi ke {Project Properties} -> Web dan Tekan tombol "Buat Direktori Virtual"

masukkan deskripsi gambar di sini


1
Ini bekerja dengan baik pada VS2015. Masalah terjadi setelah membuat proyek aplikasi web lama dalam solusi inti .NET.
Sebazzz

Ini berhasil, .NET core tooling membuat kekacauan dengan IISE: /
Keoz

Saya biasanya tinggal di dunia OWIN / NancyFx, jadi ketika saya harus melakukan proyek Web API setelah jeda, saya bingung, sampai saya melihat jawaban ini. - senang mengetahui factoid ini - terima kasih !!!
code4life

bekerja pada VS 2915 @mihail saya tidak menghapus apa pun, cukup buat direktori virtual ... apa yang dibutuhkan?
abdoutelb

4
@AbdouTelb lihat ini iis.net/learn/get-started/planning-your-iis-architecture/… dengan menghapus file .config pada dasarnya Anda memastikan bahwa file tersebut akan dibuat ulang oleh vs dan dengan demikian setiap masalah yang terkait dengannya (dan bisa ada banyak) akan hilang. File ini digunakan oleh IIS Express dengan cara yang sama seperti IIS menggunakan file applicationhost.config sendiri sehingga sama seperti mengembalikan default pabrik. Membuat Direktori Virtual saja tidak cukup untuk menghapus masalah yang mungkin bersembunyi di file. Dalam kasus Anda, Anda baru saja beruntung :)
Mihail Shishkov

85

@roblll sudah benar. Tetapi bagi Anda yang tidak ingin menggali jawabannya, ini dia:

  1. Tutup Visual Studio (mungkin tidak perlu, tetapi tidak akan sakit).
  2. Arahkan ke folder Dokumen Anda. Di sinilah direktori konfigurasi IISExpress saya.
  3. Di folder konfigurasi, ada file yang disebut host aplikasi. Buka itu.
  4. Cari nama proyek Anda. Seharusnya ditambahkan di sana oleh Visual Studio ketika dibom dalam upaya Anda sebelumnya.
  5. Perhatikan bahwa ada ikatan untuk HTTP dengan port yang ingin Anda gunakan untuk https.

    //Change this:
    <binding protocol="http" bindingInformation="*:44300:localhost" />
    
    //to this:
    <binding protocol="https" bindingInformation="*:44300:localhost" />
    

Perlu diingat, Visual Studio mungkin telah memasok port yang berbeda dari yang Anda harapkan. Pastikan saja bahwa port yang ada di binding sesuai dengan apa yang ada di tab Web dari properti proyek Anda.

http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx


5
Saya sebenarnya membuka proyek yang dikembangkan di tempat lain, mengubah konfigurasi protokol untuk proyek menjadi https dan memuat ulang proyek tersebut menghilangkan kesalahan. Terima kasih @ Jacob!
Geoffrey

Hanya menghapus folder IISExpress tidak menyelesaikan untuk saya. Setelah menghapus, ketika saya meluncurkan kembali VS dan membuka proyek ini, dialog kesalahan muncul, yang diselesaikan hanya setelah melakukan ini. Proyek yang saya unduh di halaman asp.net , itu adalah proyek sampel.
Alisson

Btw, jika Anda memiliki ikatan http dan https, pastikan Anda tidak menggunakan nomor port yang sama untuk keduanya.
Ziad Akiki

41

Saya memiliki masalah yang sama tetapi solusi yang bekerja untuk saya berbeda.

  1. Di VS2013 Buka Debug> {YourWebsiteName} Properti
  2. Pilih tab "Web".
  3. Di bawah "Server" saya menemukan "Abaikan URL akar aplikasi" diperiksa. Saya menghapus centang dan menyimpannya.

Hanya itu yang saya butuhkan untuk membuat semuanya berjalan.


Saya sarankan Anda mencoba solusi ini terlebih dahulu. Mencentang kotak dengan url yang tidak valid akan membuat kesalahan yang disebutkan dalam pertanyaan.
timothy

16

Masalah yang Sama, tetapi diperlukan untuk memulai VS2013 dalam Mode Admin .


Sayangnya ini tidak membantu saya.
AH.

16

Coba langkah-langkah berikut:

  1. menghapus IISExpress folder seperti dikatakan @Yehuda Shapira
  2. nyalakan kembali komputer
  3. hapus folder .vs dalam proyek

Semoga beruntung!


1
1. Tutup Visual Studio 2. Hapus folder .vs yang berfungsi untuk saya. Jika saya menghapus .vs dolder saat VS terbuka. Tidak bekerja.
akdora

Menghapus folder .vs adalah satu-satunya hal yang berfungsi untuk saya. Folder .vs terletak di dalam folder proyek, tetapi tersembunyi secara default.
George

15

Saya memiliki masalah yang sama dan kemudian saya membuka task manager -> proses kemudian membunuh proses iisexpress.exe. Setelah itu saya mencoba menjalankan aplikasi dan berhasil menjalankannya


14

Dalam kasus saya, proyek berada di drive jaringan dan menghapus folder IIS Express tidak membantu seperti yang dijelaskan dalam jawaban lain. Solusi saya adalah menyalin proyek ke drive lokal dan berhasil!


12

Saya memiliki masalah yang sama, terima kasih kepada @Jacob untuk memberikan informasi tentangnya.

Alasannya adalah - entri yang salah untuk proyek Anda di file konfigurasi applicationhost terletak di

C:\Users\(yourusername)\Documents\IISExpress\config 
  1. Tutup semua solusi Visual Studio.
  2. Ganti nama folder IISExpress menjadi beberapa IISExpress-Copy (alih-alih menghapus, Anda dapat memiliki salinannya)
  3. Sekarang buka VS lagi dan bangun / debug proyek, sekarang Anda akan melihat folder IISExpress dibuat untuk Anda lagi dengan konfigurasi yang benar.

Itu bekerja untuk saya dan berharap itu juga akan berhasil untuk Anda.


Saya mencoba langkah-langkah yang dijabarkan dalam jawaban lain tetapi ini adalah yang bekerja untuk saya. Saya harus mengganti nama IISExpressfolder. Menghapusnya tidak berhasil untuk saya.
webworm

tidak bekerja untuk saya. semuanya dimulai ketika saya mengacaukan https
Toolkit

9

Saya memiliki masalah yang sama, penyebabnya adalah bahwa flag "override URL root aplikasi" diset di bawah Properties -> Web Setelah saya menghapus flag, IIS Express mulai baik-baik saja dengan port yang ditentukan.


8

Tampaknya Anda perlu melakukan beberapa konfigurasi karena Anda tampaknya menggunakan SSL; inilah panduan langkah demi langkah oleh Scott Hanselman sendiri.


@Roblll, saya tidak melihat opsi Gunakan IIS Express ketika saya klik kanan pada proyek MVC saya di VS 2012, saya melihat bahwa di VS 2010. Saya mencoba untuk mengaktifkan SSL untuk solusi di jendela properti dan Dikatakan properti tidak valid. Terlebih lagi, dalam file applicationhost.config, saya melihat banyak entri untuk aplikasi saya seperti aplikasi Web (1), aplikasi Web (2), Aplikasi Web (3)
DotnetSparrow

Saya memiliki masalah yang sama dan mengatasinya dengan menjalankan VS2012 sebagai admin ( stackoverflow.com/a/13682315 ). Saya tidak terlalu senang dengan solusi itu tetapi saya tidak dapat menemukan yang lain.
brudert

Dalam proyek saya, saya perhatikan nomor port yang sama digunakan untuk SSL dan non-SSL. Jadi saya memperbaikinya dan kesalahan hilang.
orad

5

Satu-satunya solusi yang berhasil bagi saya adalah membuat proyek uji lain. Kemudian ikuti langkah selanjutnya:

  1. Klik kanan proyek dan pergi ke Properties -> Web

  2. Di bawah URL proyek di bagian Gunakan Server Web IIS Lokal, salin URL proyek (http: // localhost: 59002 /) - ini dari proyek uji.

  3. Arahkan ke proyek yang memberikan kesalahan ini. Klik kanan proyek dan pergi ke Properties -> Web.

  4. Tempel URL proyek di bagian Gunakan Server Web IIS Lokal (URL disalin dari proyek uji). Tutup proyek pengujian dan simpan.

  5. Hapus proyek uji dan jalankan proyek yang memberikan kesalahan. Bekerja setelah itu ...

Mungkin bukan cara terbaik tapi itu satu-satunya cara saya bisa mendapatkan ini berfungsi. Saya menerima pesan kesalahan ini setelah saya memuat ulang laptop saya (hard drive macet) dan mendapatkan semua proyek saya dari server tempat mereka di-host.


Saya tidak benar-benar tahu apa yang saya lakukan untuk solusi saya, tetapi juga ini satu-satunya cara saya dapat memperbaikinya. Saya bahkan mencoba mengacaukan perintah netsh, menghapus folder IISExpress, memulai VS dalam Mode Admin dan tidak ada yang berhasil. Saya tidak tahu di mana lagi url: port get dipetakan tetapi mengambil URL proyek orang lain sepertinya satu-satunya solusi bagi saya.
Sergio A.

5

Berbagi ini untuk pembaca di masa mendatang. Membuat direktori virtual secara manual berhasil untuk saya.

  • Pilih proyek dalam penjelajah solusi
  • Tekan Alt+Enter
  • Buka bagian Web
  • Klik Buat Direktori Virtual

4

Dalam kasus saya setelah saya mengizinkan permintaan eksternal ke situs web IIS Express saya dan mengkonfigurasi windows firewall untuk mengizinkan iisexpress.exe, saya tidak dapat memulainya dari dalam Visual Studio 2013. Saya masih bisa memulainya dengan baris perintah, dan melayani lokal dan eksternal meminta dengan baik.

C:\Program Files (x86)\IIS Express>iisexpress /site:MyWebSiteName

Saya mencoba membuat aturan firewall untuk mengizinkan port saya, setelah itu VS bekerja.


3

Saya memiliki masalah yang sama dengan VS 2013 dan bahkan setelah semua percobaan yang mungkin tidak berhasil. Masalah saya diselesaikan oleh:

- In control panel (Program and Features) I found that all of the IIS related features were unchecked.I finally checked all of those and restarted my system.
- Then I started my VS 2013 as administrator and thats it everything
   worked fine then.

Setidaknya Anda bisa mencobanya karena ini berhasil untuk saya.


3

Setelah pencarian dua jam di web saya menemukan solusi saya sebagai langkah-langkah di bawah ini - tutup studio visual - hapus folder .vs proyek Anda - buka studio visual dan jalankan kembali proyek

itu bekerja untuk saya bersenang-senang


2

Kami memiliki masalah yang sama dengan situs kami. Kami dapat memperbaiki semua ini di dalam Visual Studio. Kami menggunakan 2012 Ultimate.

Masalah mendasar yang kami lihat adalah bahwa dengan SSL diaktifkan, untuk beberapa alasan, VS menetapkan port yang sama untuk URL standar dan aman. Masalah ini tampaknya muncul ketika kami menarik kode dari TFS.

Untuk mengatasinya, kami melakukan langkah-langkah berikut:

  1. Klik kanan proyek dan pergi ke Properties -> Web
  2. Di bawah URL proyek di bagian Gunakan Server Web IIS Lokal , hapus "s" dari URL dan Simpan. (EG. Mulai dari https: // : 44301 ke http: // : 44301. Ini akan memungkinkan langkah selanjutnya bekerja)
  3. Di Solution Explorer, pilih Project dan di jendela Properties (tekan F4 jika tidak ditampilkan) ubah SSL Diaktifkan ke False lalu kembali ke True . Ini akan menghasilkan port baru yang berbeda dari URL standar (Dalam kasus saya, saya memiliki 44301 sebagai SSL dan 44305 sebagai standar saya)
  4. Arahkan kembali ke Properties -> Web dan tambahkan "s" kembali ke URL proyek.
  5. F5 dan naik!

Pastikan kotak centang untuk Abaikan URL akar aplikasi tidak dicentang.


2

periksa firewall antivirus dan izinkan akses visual studio ke jaringan. misalnya dalam nod32:

goto setting (f5) -> network->personal firewall->rules and zones

di " zone and rule editor" klik " setup" dan temukan vs 2010atau 12atau ... dan izinkan akses ke jaringan.



2

Saya mengalami kesalahan ini hari ini. Menjalankan Win 8.1 dan VS 2013. Tiba-tiba proyek saya tidak dapat berjalan lagi dan saya mendapat pesan "Tidak dapat meluncurkan server Web IIS Express" dan tidak ada informasi lebih lanjut.

Setelah beberapa saat saya mengetahui bahwa semua proyek yang tidak dapat dijalankan oleh IIS Express semuanya berjalan .net 3.5. Proyek yang menjalankan versi yang lebih baru mulai berjalan dengan baik.

Solusi bagi saya adalah menghapus .net 3.5 (dari panel kontrol -> nyalakan / matikan fitur windows), restart windows dan tambahkan .net 3.5 lagi.


2

Saya memiliki masalah yang sama, dalam kasus saya, saya baru saja membersihkan dan kemudian membangun kembali solusi saya dan itu berhasil untuk saya


2

Yah tidak ada langkah yang disebutkan di atas yang berhasil untuk saya. Dalam kasus saya, applicationhost.configfile saya entah bagaimana kehilangan dua baris kode berikut

 <add name="rules-64-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
    <add name="xoml-64-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />

Semoga ini bisa membantu seseorang.


2

Sebelum Anda mencoba yang lain, pastikan Anda 1. me-restart studio visual (sebagian besar untuk menyegarkan opsi memori dari file) dan 2. me-restart sistem Anda (kebanyakan untuk penguncian file yang tidak valid). Jika masalah Anda bersifat sementara atau diperbaiki sendiri, itu akan dilakukan tanpa mengubah apa pun. Ini bekerja untuk saya dengan PC restart. Juga jika Anda bekerja pada proyek multi-pengguna pastikan Anda memiliki versi terbaru yang bisa diterapkan - orang lain mungkin telah memeriksa sesuatu yang tidak valid karena kesalahan pada misalnya file proyek dan Anda mengacaukan sistem Anda tanpa alasan. Jika itu tidak berhasil, maka Anda mungkin perlu mengubah beberapa pengaturan yang macet, hilang atau perlu modifikasi - ada banyak proposisi pada jawaban lain.


1

Saya memiliki masalah serupa ketika menjalankan solusi saya dari VS2012:

Unable to launch the IIS Express Web server.  
The start URL specified is not valid. https://localhost:44301/

Saya memilih proyek yang salah sebagai Startup Project. Saya membuat proyek Cloud Startup (klik kanan pada proyek -> Set as Startup Project) dan semuanya mulai bekerja dengan baik.


Harus juga menambahkan bahwa URL startup harus diatur, atau diatur ke "Halaman Saat Ini" atau "Halaman Tertentu" - setidaknya diperiksa. Milik saya disetel ke "Jangan buka halaman. Tunggu permintaan dari aplikasi eksternal" dan sebagai hasilnya saya mengalami kesalahan ini, di samping masalah proyek startup.
vapcguy

@ Moumit apakah Anda tidak memilih ini? Bisakah Anda menjelaskan komentar Anda?
scottndecker

1

Serangkaian artikel Jason Shavers di sini http://jasonrshaver.com/?tag=/Client+Certificates menjelaskan dengan tepat cara mengatur entri situs applicationhost.config Anda untuk memungkinkan aplikasi berjalan di ssl atau http standar.

Salah satu hal yang dia rekomendasikan adalah meletakkan dua entri yang mengikat untuk situs. Inilah yang saya lakukan.

            <bindings>
                <binding protocol="http" bindingInformation="*:59945:localhost" />
                <binding protocol="https" bindingInformation="*:44300:localhost"/>
            </bindings>

Dia juga merekomendasikan untuk mengubah pengaturan lain juga. Ini bekerja pada dua dari tiga mesin saya. Setiap kali saya diberitahu untuk secara manual mengkonfigurasi situs di host aplikasi biasanya ada hubungannya dengan binding. (contoh menggunakan port yang sama untuk beberapa aplikasi web.)


1

Saya memiliki masalah yang sama setelah menginstal Pembaruan Visual Studio 2013 3.
VS 2013 can not load Microsoft.VisualStudio.TraceLogPackage.dll
Unable to launch the IIS Express Web server

Masalah saya diselesaikan dengan melakukan langkah-langkah berikut:

1. Perbaikan Visual Studio 2013 Update 3
2. Mulai Developer Command Promptsebagai administrator.
3. Ketikkan devenv.exe /setupkemudian tekan enter


1

Saya memiliki masalah yang sama. Saya telah menghapus banyak folder di bawah C:/users/jalur untuk mengosongkan sebagian ruang di komputer saya. Setelah itu saya mulai mendapatkan kesalahan ini.

Saya hanya perlu me-restart mesin saya dan semuanya bekerja dengan baik.


1

Masalah saya memerlukan solusi 3 kali lipat:

  1. Hapus folder IISExpress di folder Dokumen Anda.
  2. Tetapkan proyek web sebagai proyek startup Anda dengan mengklik kanan dan pilih "Tetapkan sebagai proyek startup", atau melakukannya melalui properti solusi Anda.
  3. Setel URL startup, atau setel ke "Halaman Saat Ini" atau "Halaman Tertentu". Milik saya diatur ke "Jangan buka halaman. Tunggu permintaan dari aplikasi eksternal" dan saya harus mengubahnya ke "Halaman Tertentu", yang saya biarkan kosong sehingga akan masuk ke halaman muka aplikasi saya, sebelum itu akan kerja.

1

Masalah saya akhirnya terpecahkan ketika saya melihat kunci registri IIS Express:

HKEY_CURRENT_USER\Software\Microsoft\IISExpress

Saya memiliki entri yang CustomUserHomemenunjuk ke Situs Web Saya yang menyebabkan kekacauan.


1

Saya akan mengatur Berbagi Sambungan Internet di mesin saya untuk mesin virtual. Saya mematikannya dan saya bisa debug di Visual Studio 2015 . Namun untuk secara konsisten men-debug setelah reboot, saya perlu mengatur layanan Berbagi Sambungan Internet untuk memulai secara manual, meskipun tidak ada koneksi internet saya yang mengaktifkan Berbagi Sambungan Internet .

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.