IIS Express Segera mematikan situs yang berjalan setelah menghentikan aplikasi web

173

Saya menggunakan visual studio 2012 di hari-hari pertama ketika saya ingin menghentikan aplikasi di IDE, aplikasi masih berjalan di IIS Express, saya bisa menjelajah dan bekerja dengan menjalankan aplikasi, tetapi sekarang saya tidak bisa. IIS Segera mematikan aplikasi jika saya menekan tombol stop. Karena saya ingat saya tidak membuat perubahan dalam pengaturan. Bagaimana saya menjalankannya sama seperti hari pertama.

pedang
sumber
1
Coba 'lihat di browser' alih-alih 'main'. Apakah Anda mengubah browser default? IE secara otomatis dimatikan saat berhenti, Chrome tidak.
Emanuele Greco
Tidak, saya menggunakan FF, tetapi kadang-kadang saya perlu men-debug aplikasi.
saber
Saya pikir ini adalah sesuatu yang berkaitan dengan IIS Express.
saber
1
Alih-alih mengklik tombol stop, Anda juga dapat menggunakan Detach All di menu Debug.
jessehouwing
1
Ini memisahkan debugger dari proses yang sedang di-debug, tetapi tidak mematikan proses yang sedang berlangsung.
jessehouwing

Jawaban:

344

Saya baru-baru ini menghadapi situasi yang sama ketika tiba-tiba IIS Express saya berhenti tepat setelah saya berhenti debugging. Ini terjadi setelah saya mengaktifkan "Aktifkan Edit dan Lanjutkan" . Jadi, jika Anda menonaktifkan ini, Anda akan melihat bahwa IIS Express tetap berjalan bahkan setelah debugging dihentikan.

Klik kanan proyek Anda> klik Properti> pilih tab 'Web' di sebelah kiri> hapus centang pada Enable Edit and Continuekotak centang.

Abhi
sumber
3
Saya dapat mengkonfirmasi bahwa ini memperbaiki masalah saya.
Maxime Rouiller
51
Ini bekerja !! Klik kanan proyek Anda> klik Properti> pilih tab 'Web' di sebelah kiri> hapus centang pada kotak centang 'Aktifkan Edit dan Lanjutkan'.
nv.snow
6
Berhasil. Di Visual studio 2013 Buka "Alat-> Opsi", Pilih di pohon "Debugging-> Edit dan Lanjutkan" dan hapus centang pada kotak "Aktifkan Edit dan Lanjutkan".
Renzo Ciot
3
Anda dapat membaca tentang fitur ini lebih detail di sini: blogs.msdn.com/b/webdev/archive/2013/07/11/…
gor
5
Tidak, ini solusi buruk - lihat solusi yang benar, diposting oleh @jessehouwing, di bawah ini.
Josh M.
85

Dalam VS2010 dan VS2012, opsi edit dan lanjut dinonaktifkan secara default saat membuat proyek aplikasi web baru. Dalam VS2013 dihidupkan secara default.

Anda dapat menemukan opsi ini di tab Web di jendela properti proyek web.

edit dan lanjutkan opsi vs2013

Dengan "Aktifkan Edit dan Lanjutkan" pada, debugger VS memulai aplikasi web Anda di IIS Express. Saat Anda berhenti debug, IIS Express juga ditutup. Dengan perilaku ini, Anda akan melihat baki sistem IIS Express muncul selama debugging dan hilang setelah debugging. Perilaku ini sama seperti di VS2012 ketika opsi Aktifkan Edit dan Lanjutkan dihidupkan.

Jika Anda tidak memerlukan fungsionalitas "Edit dan Lanjutkan" selama pengembangan dan ingin IIS Express bertahan setelah sesi debugging, Anda cukup mematikan opsi Aktifkan Edit dan Lanjutkan .

Saya f Anda ingin menggunakan "Edit dan Lanjutkan" atau Anda sedang mengembangkan sebuah situs Asp.net 5 (ASP.NET 5 proyek tidak memiliki Mengedit dan Lanjutkan kotak centang di proyek properti) Anda harus menggunakan "DeTech semua" perintah untuk menghentikan debugging.

Debugger akan melepaskan dari proses iis tanpa menutupnya.

Jelas fitur "Edit dan Lanjutkan" tidak akan berfungsi sampai Anda mulai men-debug lagi.

masukkan deskripsi gambar di sini

giammin
sumber
sebuah gambar bernilai seribu kata: D
giammin
64

Alih-alih menekan (X) STOPtombol, Anda dapat menggunakanDetach all item menu di menu Debug. Perbedaan utama adalah bahwa tombol berhenti akan menghentikan proses apa pun yang saat ini sedang di-debug, sedangkan Detach All akan memutus hubungan debugger dari proses, tetapi tidak akan menghentikannya.

Proses pekerja IIS yang normal juga akan dihentikan, tetapi karena dulu berfungsi sebagai layanan, itu juga akan secara otomatis mulai lagi dan dengan demikian Anda dapat terus menggunakannya tanpa harus memulai kembali proses melalui |> Debugatau |> Start without debugging.

Tangkapan layar untuk Referensi

Menambahkan tombol 'Edit dan Lanjutkan' ke bilah alat debugging.

jessehouwing
sumber
3
ini sebenarnya lebih dekat dengan jawaban sebenarnya .. Opsi 'EDIT DAN LANJUTKAN' adalah fitur .. Melampirkan dan Melepaskan pelacak debugging ke proses mendengarkan adalah konsep garis bawah diskusi, dan apakah mengklik berhenti menghentikan proses mendengarkan atau hanya melepaskan diri dari itu .. yang tentu saja Anda dapat memasang kembali juga.
Brett Caswell
@ jcmcbeth itu memang berfungsi untuk IIS Express .. Saya tidak mungkin melihatnya tidak berfungsi ... Proses IIS Express hanya itu, proses terpisah mereka sendiri .. VS debugger Anda memulai proses dan melampirkannya .. tetapi Proses itu tidak bergantung pada debugger terlampir Anda untuk menjalankan lebih dari aplikasi atau server web Anda memerlukan pengunjung / agen pengguna / klien untuk berjalan di proc
Brett Caswell
1
@ jcmcbeth, itu aneh untuk dikatakan di situs tanya jawab ketika Anda berbicara tentang dukungan dan pengaturan fitur. Ini bukan mengambil atau meninggalkannya scenerio; Anda menyatakan bahwa hal itu tidak muncul untuk bekerja dengan IIS Express. Itu benar.
Brett Caswell
1
Kotak centang "Aktifkan Edit dan Lanjutkan" tidak ada dalam VS 2015 RC untuk proyek ASP.NET 5, jadi itulah cara untuk pergi jika Anda ingin menggunakan IIS Express dengan ini.
Tomek
7
Ini adalah jawaban untuk bagaimana VS 2015 Update 2 telah mengubah Perilaku IIS dengan penghapusan Edit dan Lanjutkan dari tab web Project.
Robharrisaz
32

Sepertinya sejak rilis Visual Studio 2015 Update 2 solusi yang diterima tidak lagi berfungsi.

Solusi termudah yang saya temukan sejauh ini adalah memulai proyek dengan memilih " Mulai Tanpa Debugging " dari menu Debug .

tocqueville
sumber
1
Sepertinya Anda sedang berbicara tentang VS2015.
Chad Carisch
Sial, saya hanya mengalami masalah ini dan memposting pertanyaan tentang ini. Apakah ada solusi yang diketahui untuk menyelesaikan ini - selain membatalkan jalan pintas Anda untuk Memulai tanpa Debugging dan Lepaskan alih-alih Berhenti?
nikib3ro
1
Mereka mengatakan sedang memperbaikinya di pembaruan berikutnya, sementara itu trik lain yang dapat Anda gunakan adalah menekan ctrl + F5 untuk memulai situs tanpa debugging: connect.microsoft.com/VisualStudio/feedback/details/2562576/…
mattmanser
4

Ini mungkin paling baik dikategorikan sebagai solusi lain, tetapi berhasil bagi saya.

Saya biasanya memulai proyek untuk pertama kalinya dengan menu konteks "Lihat di Browser" (atau CTRL-Shift-W).

Sejak saat itu, apa pun yang memerlukan debugging, saya biasanya melampirkan ke proses iisexpress baru yang ada. Sementara mousing melalui menu konteks akan menjadikan ini non-starter, hampir secepat F5 dengan penekanan tombol berikut:

  • Shift-F6 untuk membangun proyek saat ini atau Ctrl-Shift-B untuk membangun seluruh solusi (ini hanya diperlukan jika Anda telah membuat perubahan tapi saya pikir saya harus menyebutkannya karena F5 sudah melakukan ini).
  • Ctrl-Alt-P membuka dialog attach to process

  • mengetik "iis" akan membawa Anda ke proses iisexpress

  • tekan enter dan Anda terlampir

Jika Anda memiliki lebih dari satu iisexpress berjalan, yang terakhir dimulai umumnya akan muncul di bagian atas daftar. Pilihan lain adalah menggeser-pilih dan melampirkan semuanya.

Ini memiliki sejumlah keunggulan IMO. Pertama dan terpenting, itu tidak menghentikan proses. Kedua, jendela browser tidak ditutup ketika Anda berhenti debugging. Itu membuat saya retak ketika saya melihat pengembang mengulangi 7 langkah untuk mendapatkan mereproduksi bug, ketika semua yang perlu dia lakukan adalah menekan F5 di jendela browser yang ada untuk hanya mengirim ulang setelah debugger terhubung. Terakhir, saya harus melakukan ini ketika melampirkan nunit, jadi saya mendapatkan pengalaman yang lebih konsisten.

b_levitt
sumber