2011-09-30 31 views
8

Tôi đang xây dựng ứng dụng WinForms bằng Visual Studio 2010. Mỗi khi tôi thực hiện thay đổi mã, tôi phải chạy ứng dụng và kiểm tra xem nó hoạt động như thế nào. Vấn đề là tôi làm điều này khá thường xuyên và một khi tôi quên đóng ví dụ trước của ứng dụng trình biên dịch cho lỗi "Quá trình không thể truy cập vào tệp bin \ Debug ...." và điều này thực sự làm phiền tôi. Có ai biết nếu nó có thể làm cho Visual Studio đóng trường hợp đang chạy trước khi thực hiện xây dựng.Làm thế nào để làm cho Visual Studio đóng quá trình chạy trước khi thực hiện xây dựng?

Rất cám ơn.

+1

Bắt đầu chương trình bằng F5. Bạn sẽ yêu thích trình gỡ lỗi. –

+3

Tôi sẽ, nếu nó hoạt động nhanh hơn – Narek

Trả lời

5

Ý tưởng: Thực hiện bước tạo trước cho dự án thực thi có sử dụng Taskkill để hủy quá trình. Đọc thêm về taskkill đây: http://technet.microsoft.com/en-us/library/bb491009.aspx

+1

Cảm ơn bạn rất nhiều. Tôi đã thêm dòng lệnh sau khi tạo sự kiện "taskkill/im myImageName" và nó đã làm việc cho tôi. – Narek

+0

Bạn được chào đón ... –

+3

@MortenFrederiksen tôi đã thêm tiền nhiệm vụ sau đây/taskkill/IM "$ (TargetFileName)"/F vấn đề là tôi gặp lỗi nếu quá trình này không chạy. bất kỳ đề xuất? –

5

Ngoài Morten của câu trả lời:

Sử dụng taskkill và sau đó bỏ qua lỗi.

taskkill /F /IM "$(TargetFileName)" 
exit 0 
+1

Tôi đã thử điều này nhưng không hoạt động. @tpower 's giải pháp dưới đây làm việc cho tôi. – ebol2000

+0

@ ebol2000 Nó đã hoạt động. Nhưng chỉ dành cho phiên bản gỡ lỗi. Với tùy chọn '/ f', nó sẽ giết cả hai gỡ lỗi và giải phóng. – Bitterblue

15

Thêm dòng sau vào các dự án Pre-sự kiện xây dựng (dựa trên accepted answer):

taskkill /f /fi "imagename eq $(TargetFileName)" 

Lệnh như được sử dụng trong other answer có thể dẫn đến một lỗi trong trường hợp quá trình này không phải là đang chạy.

Biến thể này sử dụng bộ lọc (/fi) không 'thất bại' ngay cả khi có 0 kết quả phù hợp.

+1

Cảm ơn, điều này đã hiệu quả. Xin lưu ý rằng bạn cũng có thể sử dụng thẻ hoang dã nếu muốn. Ví dụ ... taskkill/f/fi "imagename eq MyHealthMonitor *" – ebol2000

+0

Tôi không biết nếu VS của bạn hoạt động khác với tôi nhưng "câu trả lời khác" cũng hoạt động tốt khi quá trình này không chạy. 'Exit 0' có trách nhiệm bỏ qua các lỗi, bạn biết đấy. – Bitterblue

+0

@tpower Cảm ơn! hoạt động hoàn hảo – uriz

0

Mã sau từ một câu trả lời stackexchange khác đã làm việc cho tôi.

quy trình wmic nơi name = 'chromedriver.exe' xóa

+0

bạn vui lòng liên kết với câu trả lời khác để chúng tôi có thể xem nó? – WattsInABox

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