IIS Express Ngay lập tức tắt trang web đang chạy sau khi dừng ứng dụng web


173

Tôi đang sử dụng visual studio 2012 trong những ngày đầu tiên khi tôi muốn dừng ứng dụng trong IDE, ứng dụng vẫn đang chạy trên IIS Express, tôi có thể duyệt và làm việc với ứng dụng đang chạy, nhưng bây giờ tôi không thể. IIS ngay lập tức tắt ứng dụng nếu tôi nhấn nút dừng. Vì tôi nhớ tôi đã không thực hiện bất kỳ thay đổi nào trong cài đặt. Làm thế nào tôi nên làm điều đó chạy như ngày đầu tiên.


1
Hãy thử 'xem trong trình duyệt' thay vì 'phát'. Bạn đã thay đổi trình duyệt mặc định? IE sẽ tự động tắt khi dừng, Chrome thì không.
Emanuele Greco

Không, tôi đang sử dụng FF, nhưng đôi khi tôi cần gỡ lỗi ứng dụng.
hoại

Tôi nghĩ rằng đây là một cái gì đó liên quan đến IIS Express.
hoại

1
Thay vì nhấp vào nút dừng, bạn cũng có thể sử dụng Detach All trong menu Debug.
jliehouwing

1
Nó tách trình gỡ lỗi khỏi các tiến trình được gỡ lỗi, nhưng không giết chết các tiến trình đang diễn ra.
jliehouwing

Câu trả lời:


344

Gần đây tôi đã phải đối mặt với một tình huống tương tự khi đột nhiên IIS Express của tôi dừng ngay sau khi tôi ngừng gỡ lỗi. Điều này xảy ra sau khi tôi bật "Bật chỉnh sửa và tiếp tục" . Vì vậy, nếu bạn tắt tính năng này, bạn sẽ thấy IIS Express vẫn chạy ngay cả sau khi quá trình gỡ lỗi bị dừng.

Nhấp chuột phải vào dự án của bạn> nhấp vào Thuộc tính> chọn tab 'Web' ở bên trái> bỏ chọn Enable Edit and Continuehộp kiểm.


3
Tôi có thể xác nhận rằng điều này đã khắc phục vấn đề cho tôi.
Maxime Rouiller

51
Những công việc này !! Nhấp chuột phải vào dự án của bạn> nhấp vào Thuộc tính> chọn tab 'Web' ở bên trái> bỏ chọn hộp kiểm 'Bật Chỉnh sửa và Tiếp tục'.
nv.snow

6
Nó hoạt động. Trong Visual studio 2013 Mở "Công cụ-> Tùy chọn", chọn trong cây "Gỡ lỗi-> Chỉnh sửa và tiếp tục" và bỏ chọn hộp "Bật chỉnh sửa và tiếp tục".
Renzo Ciot

3
bạn có thể đọc về tính năng này chi tiết hơn tại đây: blog.msdn.com/b/webdev/archive/2013/07/11/ mẹo
gor

5
Không, đây là một giải pháp tồi - hãy xem giải pháp chính xác, được đăng bởi @jessehouwing, bên dưới.
Josh M.

85

Trong VS2010 và VS2012, tùy chọn chỉnh sửa và tiếp tục bị tắt theo mặc định khi tạo dự án ứng dụng web mới. Trong VS2013, nó được bật theo mặc định.

Bạn có thể tìm thấy tùy chọn này trên tab Web trong cửa sổ thuộc tính của dự án web.

chỉnh sửa và tiếp tục tùy chọn vs2013

Với Bật Bật Chỉnh sửa và Tiếp tục trên, trình gỡ lỗi VS khởi động ứng dụng web của bạn trong IIS Express. Khi bạn dừng gỡ lỗi, IIS Express cũng bị đóng. Với hành vi này, bạn sẽ thấy khay hệ thống IIS Express xuất hiện trong quá trình gỡ lỗi và biến mất sau khi gỡ lỗi. Hành vi này giống như trong VS2012 khi tùy chọn Bật Chỉnh sửa và Tiếp tục được bật.

Nếu bạn không cần chức năng "Chỉnh sửa và Tiếp tục" trong quá trình phát triển và muốn IIS Express ở lại sau phiên gỡ lỗi, bạn chỉ cần tắt tùy chọn Bật Chỉnh sửa và Tiếp tục .

Tôi e bạn muốn sử dụng "Edit, Continue" hoặc bạn đang phát triển một trang web Asp.net 5 (ASP.NET 5 dự án không có Edit, Continue hộp kiểm trong thuộc dự án) , bạn phải sử dụng "Detech tất cả" lệnh để ngừng gỡ lỗi.

Trình gỡ lỗi sẽ tách ra khỏi quy trình iis mà không đóng nó.

Rõ ràng tính năng "Chỉnh sửa và tiếp tục" sẽ không hoạt động cho đến khi bạn bắt đầu gỡ lỗi lại.

nhập mô tả hình ảnh ở đây


một bức tranh đáng giá ngàn lời nói: D
giammin 12/12/13

64

Thay vì nhấn (X) STOPnút, bạn có thể sử dụng Detach allmục menu trong menu Gỡ lỗi. Sự khác biệt chính là nút dừng sẽ chấm dứt mọi quá trình hiện đang được gỡ lỗi, trong khi Detach All sẽ ngắt kết nối trình gỡ lỗi khỏi các quy trình, nhưng sẽ không chấm dứt chúng.

Quá trình công nhân IIS bình thường cũng sẽ bị chấm dứt, nhưng vì nó đã từng chạy như một dịch vụ, nên nó cũng sẽ tự động khởi động lại và do đó bạn có thể tiếp tục sử dụng nó mà không phải khởi động lại quá trình thông qua |> Debughoặc |> Start without debugging.

Ảnh chụp màn hình để tham khảo

Thêm nút 'Chỉnh sửa và Tiếp tục' vào thanh công cụ gỡ lỗi.


3
Điều này thực sự gần với câu trả lời thực sự .. Tùy chọn 'EDIT VÀ TIẾP TỤC' là một tính năng .. Đính kèm và tách bộ theo dõi gỡ lỗi cho quá trình nghe là khái niệm gạch chân của cuộc thảo luận ở đây và việc nhấp vào có chấm dứt quá trình nghe đó hay đơn giản tách ra khỏi nó .. tất nhiên bạn cũng có thể gắn lại.
Brett Caswell

@jcmcbeth nó thực sự hoạt động với IIS Express .. Tôi không thể thấy nó không hoạt động ... IIS Express Các quy trình chỉ là, các quy trình riêng biệt của chúng .. trình gỡ lỗi VS của bạn đang bắt đầu quá trình và gắn vào nó .. nhưng Quá trình đó không phụ thuộc vào trình gỡ lỗi đính kèm của bạn để chạy nữa so với ứng dụng hoặc máy chủ web của bạn yêu cầu khách truy cập / tác nhân người dùng / khách hàng chạy trong Proc
Brett Caswell

1
@jcmcbeth, đó là một điều kỳ lạ để nói trên trang web Hỏi & Đáp khi bạn nói về hỗ trợ và cài đặt tính năng. Đây không phải là lấy nó hoặc để nó scenerio; Bạn nói rằng nó không xuất hiện để làm việc với IIS Express. Nó làm.
Brett Caswell

1
Hộp kiểm "Bật chỉnh sửa và tiếp tục" không có trong các dự án VS 2015 RC cho ASP.NET 5, vì vậy đó là cách tốt nhất nếu bạn muốn sử dụng IIS Express với các dự án này.
Tomek

7
Đây là câu trả lời cho cách VS 2015 Update 2 đã thay đổi Hành vi IIS với việc xóa Chỉnh sửa và Tiếp tục khỏi tab web Dự án.
Robharrisaz

32

Có vẻ như kể từ khi phát hành Visual Studio 2015 Update 2, giải pháp được chấp nhận không còn hoạt động.

Giải pháp đơn giản nhất mà tôi tìm thấy cho đến nay là bắt đầu dự án bằng cách chọn " Bắt đầu mà không cần gỡ lỗi " từ menu Gỡ lỗi .


1
Âm thanh như bạn đang nói về VS2015.
Chad Carisch

Chết tiệt, tôi vừa gặp vấn đề này và đăng câu hỏi về vấn đề này. Có cách giải quyết nào được biết để giải quyết vấn đề này - ngoài việc sửa lại các phím tắt của bạn để Bắt đầu mà không gỡ lỗi và tách ra thay vì Dừng không?
nikib3ro

1
Họ nói rằng họ đang sửa nó trong bản cập nhật tiếp theo, trong khi đó, một mẹo khác bạn có thể sử dụng là nhấn ctrl + F5 để khởi động trang web mà không cần gỡ lỗi: connect.microsoft.com/VisualStudio/feedback/details/2562576/
mattmanser

4

Điều này có lẽ được phân loại tốt nhất như một cách giải quyết khác, nhưng nó hoạt động với tôi.

Tôi thường bắt đầu dự án lần đầu tiên với menu ngữ cảnh "Xem trong trình duyệt" (hoặc CTRL-Shift-W).

Từ đó trở đi, bất cứ điều gì đòi hỏi phải gỡ lỗi, tôi thường gắn vào quy trình lưỡng tính mới hiện có. Mặc dù việc xử lý các bối cảnh thông qua bối cảnh sẽ khiến điều này không bắt đầu, nhưng nó nhanh như F5 với các lần nhấn phím sau:

  • Shift-F6 để xây dựng dự án hiện tại hoặc Ctrl-Shift-B để xây dựng toàn bộ giải pháp (điều này chỉ bắt buộc nếu bạn đã thực hiện thay đổi nhưng tôi nghĩ tôi nên đề cập đến nó vì F5 đã làm điều này).
  • Ctrl-Alt-P mở hộp thoại đính kèm để xử lý

  • gõ "iis" sau đó sẽ đưa bạn xuống quá trình chuyển giới

  • nhấn enter và bạn đã đính kèm

Nếu bạn có nhiều hơn một người lưỡng tính đang chạy, thì cái cuối cùng bắt đầu sẽ thường xuất hiện ở đầu danh sách. Một tùy chọn khác là shift-select và đính kèm với tất cả chúng.

Điều này có một số lợi thế IMO. Đầu tiên và quan trọng nhất, nó không chấm dứt quá trình. Thứ hai, cửa sổ trình duyệt không đóng khi bạn ngừng gỡ lỗi. Nó làm tôi khó chịu khi tôi thấy một nhà phát triển lặp lại 7 bước để tạo lại lỗi, khi tất cả những gì anh ta cần làm là nhấn F5 trong cửa sổ trình duyệt hiện có để chỉ đăng lại khi trình gỡ lỗi được kết nối. Cuối cùng, tôi phải làm điều này khi gắn vào nunit, vì vậy tôi có được trải nghiệm nhất quán hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.