Dừng Visual Studio khởi chạy một cửa sổ trình duyệt mới khi bắt đầu gỡ lỗi?


340

Tôi đã có một cửa sổ mở với trang web tôi đang gỡ lỗi. Tôi không cần VS để khởi chạy một cái khác cho tôi mỗi khi tôi cần gỡ lỗi.

Có cách nào để ngăn chặn hành vi này?


Bạn đã bật tính năng duyệt theo tab chưa? .. Và bạn có đang sử dụng IE không?
Quintin Robinson

Câu trả lời:


415

Mở thuộc tính của dự án khởi động của bạn ( Project → {ProjectName} Properties ... từ menu chính hoặc nhấp chuột phải vào dự án của bạn trong Solution Explorer và chọn Thuộc tính ), sau đó điều hướng đến tab Web và bên dưới Bắt đầu hành động chọn Không mở trang . Đợi một yêu cầu từ một ứng dụng bên ngoài .

Bạn vẫn có thể sử dụng bất kỳ trình duyệt nào (hoặc Fiddler, bất cứ điều gì) để truy cập ứng dụng đang chạy, nhưng nó sẽ không tự động mở cửa sổ trình duyệt, nó sẽ chỉ bắt đầu trong nền và chờ đợi bất kỳ yêu cầu nào.


Đó có vẻ là một giải pháp thực sự tốt, nhưng cũng giống như Slace, nó không dừng thực thi tại các điểm dừng, nó nói không có biểu tượng nào được tải. Cảm ơn mặc dù.
sker

9
Nó làm. Tôi sử dụng nó để gỡ lỗi tất cả các thời gian. Bạn phải có cấu hình sai. Kiểm tra kỹ xem bạn đã bật gỡ lỗi trong web.config chưa và bạn đang chạy bản dựng Debug.
Pawel Krakowiak

1
@mjohnsonengr Tôi thề đây là cài đặt cho mỗi người dùng là cục bộ ... Có lẽ bạn đã đăng ký tệp .csproj.user (bạn không nên).
Pawel Krakowiak

1
Vì vậy, nó là [một thiết lập địa phương]. Trước đây tôi đã giả định rằng tất cả các cài đặt dự án trong khu vực đó đã được lưu trữ trong nhóm csproj. Trước đây tôi đã thử thay đổi URL mà trình duyệt sẽ mở bằng cách sửa đổi "URL dự án" và thấy rằng nó đã được thay đổi trong .csproj. Khi kiểm tra kỹ hơn, bây giờ tôi thấy rằng có một dấu kiểm "Áp dụng cài đặt máy chủ cho tất cả người dùng" chỉ kiểm soát trường đó. Lỗi của tôi.
mjohnsonengr

4
Đối với Visual Studio trên Mac, các cài đặt có thể so sánh nằm trong "Dự án> Tùy chọn> Chạy> Mặc định> ASP.NET Core". Bỏ chọn "URL mở trong trình duyệt web khi ứng dụng khởi động".
IronRod

134

Đối với VS 15.7.1 ToolsOptionsProjects and SolutionsWeb Projects→ bỏ chọn Stop debugger when browser window is closed.


6
VS 15 là Visual Studio 2017 , BTW.
Uwe Keim

3
Điều này cũng hoạt động VS 2019 Preview 4.3
KnuturO

2
Thay đổi được đề xuất không làm những gì câu hỏi về.
Anatolyevich

1
Hoạt động tốt trong VS2019 (16.4.4)
Rory McCrossan

75

Câu trả lời cập nhật cho dự án .NET Core Web Api ...

Nhấp chuột phải vào dự án của bạn, chọn "Thuộc tính", đi đến "Gỡ lỗi" và bỏ chọn hộp kiểm "Khởi chạy trình duyệt" (được bật theo mặc định).

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


1
@Grey Tùy chọn "Launch Browser" này hiện ở đâu?
Ayush Singhania

Tôi đã cập nhật câu trả lời: Bạn đã đi đến các thuộc tính của dự án của bạn để có được tùy chọn.
CennoxX

44

Trong một dự án ASP.Net 5, giờ đây có thể được đặt cho mỗi cấu hình khởi chạy.

Mở tệp launchsinstall.json trong thư mục Thuộc tính dự án khởi động và thêm "launchBrowser": falsevào hồ sơ bạn đang định cấu hình, chẳng hạn như trong:

"profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": false,
      "environmentVariables": {
        "Hosting:Environment": "Development"
      }
    }
}

13

Cách giải quyết này phù hợp với tôi cho VS 2019

Công cụ => Tùy chọn

Sau đó gõ Projects and solutions vào hộp tìm kiếm.

Chọn Web Projects.

Sau đó bỏ chọn tùy chọn bên dưới.

Dừng trình gỡ lỗi khi cửa sổ trình duyệt bị đóng, đóng trình duyệt khi dừng gỡ lỗi.

Điều này làm việc cho tôi. Hy vọng điều này sẽ giúp.


1
Cảm ơn vì món tiền boa này.
Win Man

Nó vẫn mở một tab mới mỗi khi tôi bắt đầu gỡ lỗi.
bắt chước

12

Bạn có thể sử dụng chức năng Đính kèm để xử lý, thay vì nhấn F5.

Điều này cũng có thể cho phép bạn điều hướng qua các phần làm việc đã biết mà không làm chậm trình gỡ lỗi VS được tải bên dưới.


Tôi đã thử điều đó, nhưng nó sẽ không dừng thực thi khi tìm thấy điểm dừng. Tôi cần nó dừng lại ở các điểm dừng, có cách nào để kích hoạt điều đó không? Cảm ơn.
sker

1
với điều kiện là bạn đã đính kèm vào một quy trình đã tải chính xác các hội đồng trong thư mục / bin / của ứng dụng, tất cả các điểm dừng sẽ hoạt động (ồ, và với điều kiện là có các tệp .pdb!)
Aaron Powell

Tôi đã tìm cách khắc phục điều đó nhưng có vẻ như rất nhiều rắc rối. Tôi không thể làm cho nó hoạt động. Trong khi đó, tôi sẽ sử dụng giải pháp I Have the Hat. Cảm ơn bạn.
sker

Tôi có thể gỡ lỗi bằng cách nhấn F5 với tùy chọn "chờ yêu cầu từ ứng dụng bên ngoài", nhưng tôi không thể làm cho Đính kèm để xử lý hoạt động (đính kèm INetMgr.exe). Không bao giờ dừng lại ở một điểm dừng. Tôi đã sử dụng VSCommands trong VS 2013, nhưng phiên bản 2015 mới của VSCommands chưa hỗ trợ "Đính kèm IIS". Ước gì tôi biết vấn đề là gì.
ErikE

12

Tôi đã giải quyết vấn đề của mình bằng cách làm theo các bước dưới đây. Chuyển đến Công cụ >> Nhấp vào tùy chọn >> nhấp vào dự án và giải pháp >> dự án web >> bỏ chọn tùy chọn "Dừng gỡ lỗi khi đóng trình duyệt"nhập mô tả hình ảnh ở đây


Giải pháp tốt nhất, đã giúp cho dự án lõi .net của tôi
V319

câu trả lời bị đánh giá thấp
Bimal Das

9

Khi bạn lần đầu tiên mở một dự án web / ứng dụng, hãy thực hiện Ctrl-F5 , đó là lối tắt để khởi động ứng dụng mà không cần gỡ lỗi. Sau đó, khi bạn sau đó nhấnF5 và khởi chạy trình gỡ lỗi, nó sẽ sử dụng phiên bản IE đó. Sau đó dừng lại và bắt đầu gỡ lỗi trong Visual Studio thay vì đóng IE.

Nó hoạt động trên máy của tôi. Tôi đang sử dụng máy chủ web dev tích hợp. Không biết nếu điều đó làm cho một sự khác biệt.

Firefox cũng sẽ mở để bạn có thể gỡ lỗi trong một hoặc cả hai cùng một lúc.


Này đó hoạt động! Cảm ơn rất nhiều. Bây giờ tôi có thể tránh khoảng 100 cửa sổ bổ sung cho mỗi phiên mã hóa. Ngoài ra, khi tôi nhấn F5 VS thay đổi kích thước cửa sổ IE của tôi. Bạn có biết làm thế nào tôi có thể tránh điều đó?
sker

Xin lỗi người trượt tuyết, tôi không biết câu trả lời cho điều đó - mặc dù điều đó không xảy ra với tôi khi làm điều trên, vì vậy có lẽ có một câu trả lời ở đâu đó. Có lẽ IE đang nhớ kích thước cửa sổ của nó và nó không liên quan đến kịch bản gỡ lỗi?
Rex Miller

7

Dường như có một trường hợp trong đó không có trường hợp nào ở trên nhưng những điều sau đây giúp ích. Tôi đang phát triển một dự án cho nền tảng đám mây Windows Azure và tôi có vai trò web. Thực sự có một nút radio Đừng mở trang trong các thuộc tính Project -> {Tên dự án} ... như được chỉ ra bởi Pawel Krakowiak, nhưng nó không có tác dụng gì trong trường hợp của tôi. Tuy nhiên, có dự án đám mây chính trong explorer giải pháp và có thư mục Roles bên dưới nó. Nếu tôi nhấp chuột phải vào vai trò web của mình trong thư mục này và chọn Thuộc tính , tôi sẽ nhận được một bộ cài đặt khác và trên tab Cấu hìnhtrình duyệt Khởi động cho cờ, sau khi bỏ chọn, cửa sổ trình duyệt mới không được mở khi khởi động ứng dụng.


6

Vì tôi không có tùy chọn được đề cập trong VS của mình, đó là Visual Studio Enterprise 2017, tôi đã phải tìm một số tùy chọn khác.

Đây là những gì tôi đã tìm thấy:

Chuyển đến Công cụ -> Tùy chọn -> tab Gỡ lỗi (Chung) và bỏ chọn "Bật gỡ lỗi JavaScript cho Asp.Net (Chrome và IE).

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


Vẫn còn hiệu lực cho năm 2019, cảm ơn.
Emanuel

5

Câu trả lời của Joao Costa cũng đúng với các dự án .Net core 2.

launchsinstall.json -> "launchBrowser": false

"profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": false,
      "environmentVariables": {
        "Hosting:Environment": "Development"
      }
    }
}

1
Điều này là siêu hữu ích. Đáng chú ý là launchSinstall.json này được ẩn trong Thuộc tính "Thư mục" trong "Solution Explorer"
netpoetica

2

Tôi đã xem qua các câu trả lời và không thấy giải pháp tôi tìm thấy được đề cập. Nếu đó là, lời xin lỗi của tôi. Trong trường hợp của tôi, hiện đang sử dụng Visual Studio 2015. Trong trình khám phá giải pháp, nhấp chuột phải vào tệp Project và nhấp vào thuộc tính. Chuyển đến tab Gỡ lỗi và trang này sẽ có thông tin về cách bạn khởi chạy "IIS Express hoặc Web (DNX)" cho hai lần thả xuống đầu tiên và sau đó sẽ có một hộp đánh dấu cho "Khởi chạy URL:". Bỏ chọn tùy chọn này và trình duyệt của bạn sẽ không được tự động khởi chạy mỗi khi bạn gỡ lỗi ứng dụng của mình. Mong rằng nó giúp ai đó thoát.


2

Mặc dù có một số câu trả lời xuất sắc, từ nghi ngờ thông thường đến các giải pháp mới hơn , tôi muốn cung cấp thêm một câu trả lời để giải quyết những gì bạn nên làm khi bạn đang thực hiện một giải pháp với nhiều dự án .

Trước khi tôi đi đến giải pháp này, tôi tiếp tục xem xét bindingInformationtrong ứng dụng của giải pháp, không mệt mỏi tìm kiếm bất kỳ gợi ý nào về lý do tại sao mọi thứ chỉ đơn giản là không hoạt động.

Hóa ra, điều đơn giản mà tôi bỏ qua là các dự án khác nhau cũng có các cài đặt riêng lẻ.

Vì vậy, ngoài Project > {Project-Name} Properties... > Web > Start ActionDự án cuối cùng của tôi, tôi cũng phải đi đến Website > Start Options... > Start ActionDự án Frontend của mình. Khi đó, tôi đã chọn Don't open a page. Wait for a request from an external applicationvà đã hạnh phúc kể từ đó!

Cài đặt cuối cùng Cài đặt giao diện


2

Bạn có thể nhấp chuột phải vào dự án của bạn, sau đó chọn Properties, trên Debugtab bạn nên bỏ chọn launch browserhộp kiểm.



0

Bây giờ bạn cũng có thể truy cập các thuộc tính Web bằng cách nhấp vào mũi tên thả xuống bên cạnh nút Run!

  1. Nhấp vào nút thả xuống bên cạnh "Chạy"
  2. {Tên dự án} Thuộc tính
  3. Nhấp vào "Web" trong danh sách bên trái
  4. Trong phân đoạn "Bắt đầu hành động", nhấp vào Không mở trang.

Bạn đã sẵn sàng!

PS: Điều này hiệu quả với tôi, tôi đang ở phiên bản 16.5.5 của VS Professional 2019 :)

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.