2013-06-13 26 views
10

Tôi rất muốn xem kịch bản sự kiện xây dựng thực tế cho mục đích gỡ lỗi. Tôi đã cố gắng dẫn đầu kịch bản với @echo trên đó nên làm việc theo documentation, nhưng tôi chưa thấy bất cứ điều gì khác hơn exe hoặc rõ ràng "echo một số văn bản" đầu ra trong xây dựng đầu ra."@echo on" để tạo tệp loạt sự kiện xây dựng bài đăng trong Visual Studio 2012

Dưới đây là build của tôi sự kiện:

echo on 
cd $(ProjectDir)_dev 
PostBuildEvents.bat $(ConfigurationName) $(TargetName) 

Tôi thấy văn bản này trong đầu ra, nhưng không có gì từ bên trong file .bat. Tôi cũng đã thử thêm echo vào đầu tập tin thực thi nhưng điều đó cũng không hoạt động.

Trả lời

15

Mặc dù câu trả lời sẽ đến vô cùng muộn, nó có thể hữu ích cho những người khác đến đây: cách duy nhất tôi đã tìm thấy cũng được chứa trong các trang tài liệu, và đó là những điều sau đây:

Sửa đổi dự án của bạn cài đặt để thu thập nhiều hơn số tiền mặc định thông tin trong nhật ký xây dựng. Trên menu Công cụ, hãy nhấp vào Tùy chọn. Trong các hộp thoại Tùy chọn, hãy nhấp vào nút Dự án và Giải pháp và sau đó nhấp vào nút Xây dựng và Chạy. Sau đó, trong hộp kiểm xây dựng dự án MSBuild của dự án verbosity, hãy nhấp vào Chi tiết.

enter image description here

+0

Điều này thực sự giải quyết vấn đề này nhưng bù lại bạn có được kết quả chi tiết cho bất kỳ thứ gì bạn xây dựng, mà tôi sợ thường không phải là những gì mọi người muốn. Nó vẫn là một gợi ý tốt cho mục đích gỡ lỗi mặc dù! – ikku100

4

tôi đã phải vật lộn với vấn đề tương tự. Cách duy nhất tôi có thể vượt qua điều này là để lặp lại mỗi dòng, nhưng đó là đòi hỏi phải gõ tất cả mọi thứ hai lần, một lần cho echo và một lần để thực hiện. Vì vậy, tôi quyết định sử dụng các biến với echo.

ECHO ON 
ECHO C:\myFolder\bin\heat.exe 
C:\myFolder\bin\heat.exe 
if errorlevel 1 exit 1 

một cách tốt hơn với các biến

ECHO ON 
SET vCmdl="C:\myFolder\bin\heat.exe" 
ECHO %vCmdl% 
%vCmdl% 
if errorlevel 1 exit 1 

Bằng cách này, tôi có thể thấy từng dòng của file bat trong cửa sổ Output và bất kỳ thông điệp mà họ sản xuất và nếu lỗi xảy ra "exit 1" được nhận bởi VS và xây dựng FAILS.

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