2012-03-01 47 views
6

Khi tôi chạy một bản dựng, đôi khi tôi thấy một thay đổi mã mà tôi đã quên. Vì vậy, tôi muốn hủy bản dựng. Do việc xây dựng khóa IDE của tôi, tôi phải sử dụng Ctrl + Break, tuy nhiên, nó không phản hồi đủ nhanh.Làm thế nào để hủy bỏ Visual Studio xây dựng bằng cách sử dụng dòng lệnh?

Tôi đang tìm cách tiếp cận dòng lệnh để tôi có thể chỉ cần nhấn một tệp hàng loạt khi khởi chạy nhanh. tôi đã cố gắng lệnh này:

Taskkill /IM aspnet_compiler.exe /F 

Tuy nhiên, điều này chỉ dừng dự án hiện hành từ tòa nhà và người tiếp theo trong dung dịch đa dự án của tôi khởi động.

Tôi làm cách nào để hủy bản dựng bằng dòng lệnh?

Trả lời

1

Tôi đã đưa ra một phương pháp thô đang hoạt động tốt cho tôi.

Tôi có tập lệnh theo lô sau.

@echo off 
echo KILL BILLd 
for /L %%i in (1,1,10) do (
    Taskkill /IM aspnet_compiler.exe /F 
    timeout 1 
) 

(Ở trên, 10 = giây)

sau đó tôi thực hiện một shortcut đó kịch bản hàng loạt trong cùng một thư mục cho phép tôi để làm thêm.

  • Chỉ định hình ảnh biểu tượng cho thanh khởi động nhanh của tôi.
  • Đặt để thực hiện thu nhỏ.
  • Chỉ định tổ hợp phím tắt cắt ngắn toàn cầu.

Trong VS2010, tôi đã thiết lập CTRL +SHIFT +B như xây dựng của tôi tất cả. (không xây dựng lại).

Đối với phím tắt và vì ngón tay của tôi thường vẫn đang hoán đổi trong khu vực khi tôi thấy thay đổi mã bị lãng quên. Tổ hợp phím tắt hàng loạt của tôi là CTRL + SHIFT + ALT + B.

5

Sau đây dừng xây dựng cho tất cả các dự án, trên tất cả các trường hợp của Visual Studio:

taskkill /im msbuild.exe /f 
+0

Lệnh này không hoạt động. Khi studio trực quan của tôi xây dựng, không có MSBuild.exe trong danh sách các quy trình. –

+0

Visual Studio không sinh ra 'MSBuild.exe' như là một quá trình riêng biệt. Nó sử dụng MSBuild "Framework" trong quá trình. Nó thậm chí không khởi động 'CSC.EXE' (trình biên dịch C#), btw, nó cũng sử dụng một quá trình cho nó. –

+0

Xin lỗi - Tôi đang ở chế độ C++ (mà chế độ này hoạt động) – Fraser

1

Thật không may, Visual Studio là trình biên dịch. aspnet_compiler là để biên dịch các khung nhìn, vì vậy đó là lý do tại sao bạn thấy nó xuất hiện trong danh sách.

Bạn có thể xác minh bằng cách nhận process explorer và xem cây quá trình. Bạn sẽ lưu ý devenv không bao giờ sinh ra msbuild, csc, hoặc bất kỳ trình biên dịch nào khác. Nhưng devenv không tăng đột biến trong CPU và I/O.

12

Tôi phải thêm cờ /t để tiêu diệt toàn bộ cây quá trình MSBuild.exe. Đó là:

taskkill /im msbuild.exe /f /t 

Trong trường hợp của tôi, tôi bắt đầu MSBuild.exe từ Gnu Emacs và vì một lý do GNU Emacs không phải lúc nào cũng có thể giết MSBuild.exe nếu tôi muốn khởi động lại nó. Tôi sử dụng như một bản sao lưu.Tôi đang làm c + + trong VS2010.

+1

Cờ '/ t' làm gì? Chúng ta cần sự hiểu biết, không chỉ là một công thức cho câu trả lời. – eh9

+0

/T yêu cầu Windows chấm dứt quá trình cũng như bất kỳ quy trình con nào. Tôi nhận thấy rằng MSBuild.exe có thể sinh ra các tiến trình con trong khi chạy. Nếu không giết chết tất cả các trẻ em, việc biên dịch có thể bị bỏ lại ở trạng thái không thể đoán trước (hoặc có thể tiếp tục chạy trong một số thời trang). Một cách hay để quan sát là sử dụng công cụ sysinternals, Process Explorer (procexp.exe). Bạn có thể thấy MSBuild.exe đẻ trứng một số trẻ em. –

-1

Chuyển đến menu BUILD và sau đó nhấp vào tùy chọn: CANCEL. thử nghiệm trong VS2013.

Các vấn đề liên quan