2013-05-22 18 views
6

Tôi có một nhiệm vụ MSBuild tùy chỉnh cần một thời gian để hoàn thành. Nó xuất kết quả bằng cách sử dụng Log.LogMessage() hoặc BuildEngine.LogMessageEvent() (đã thử cả hai).Tùy chỉnh MSBuild Task: làm thế nào để tuôn ra đăng nhập trong cửa sổ đầu ra VS2012 trong khi nhiệm vụ vẫn đang chạy?

Vấn đề của tôi là tất cả đầu ra không xuất hiện trong cửa sổ đầu ra VS2012 cho đến khi tác vụ được hoàn thành, làm cho tiến trình cập nhật vô ích. Tôi muốn có đầu ra xuất hiện trong khi nhiệm vụ đang chạy, ngay lập tức.

Tôi tìm thấy các chủ đề khác nhau giải thích để gọi thường xuyên Application.DoEvents(), nhưng điều đó dường như không giải quyết được vấn đề (có thể nó chỉ áp dụng cho VS2010 và trước đó?).

+3

Điều này dường như là một lỗi đã biết trong VS2012 (và tôi có thể xác nhận nó cũng xảy ra trong VS2013) và trong trạng thái thông thường của Microsoft là "không thể bị làm phiền để sửa". https://connect.microsoft.com/VisualStudio/feedback/details/790444/vs2012-msbuild-cant-flush-logging Không cần phải nói, nó vô cùng khó chịu. Bạn đã bao giờ tìm cách giải quyết chưa? –

+0

Trong VS2012, chúng tôi phải mở rộng VSPackage để trực tiếp xuất trong nhật ký cửa sổ. Dường như VS2015 khắc phục sự cố. – xen2

Trả lời

0

lỗi Known trong VS2012.

Chúng tôi đã kết thúc việc mở rộng VSPackage cho VS2012/2013 (để xuất trực tiếp trong nhật ký cửa sổ).

Nó được sửa trong VS2015.

0

Đó là một lỗi trong VS 2012. Trong những ý kiến ​​trong bug report này một người dùng có bí danh là Will, phát biểu đại diện của Microsoft, đã viết vào ngày thứ 2 năm 2013 rằng Though we will not have a chance to address this issue in Visual Studio 2012, we will consider this feedback when planning for future versions of Visual Studio.

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