7

Tôi đang thử nghiệm một dự án trong visual studio 2012.Console.WriteLine làm việc trên x86 nhưng không x64

Khi tôi chạy mã của tôi trong x86, Console.Writeline xuất hiện trong cửa sổ đầu ra. Tuy nhiên, khi tôi chạy nó trong x64, nó không.

Tôi hiểu rằng tôi có thể sử dụng System.Diagnostics.Debug thay vào đó, nhưng tôi thực sự muốn hiểu tại sao Console.Writeline không hoạt động hoặc nếu có cài đặt ở đâu đó.

Cảm ơn.

Chỉnh sửa: Quan sát: Quá trình lưu trữ Visual Studio bị tắt cho cả hai bản dựng. Khi tôi bật, tất cả thông báo Console.Writeline hiển thị cho cả x64 và x86. Khi tôi vô hiệu hóa nó một lần nữa, chỉ có x86 hiển thị Console.Writeline.

+2

Một số thông tin về những gì đang xảy ra? Lỗi hoặc smth? – ChruS

+0

Không có lỗi, chức năng bình thường của phần mềm, chỉ cần Console.Writeline không hiển thị trong cửa sổ đầu ra. Nếu tôi làm sạch tất cả mọi thứ và tái xây dựng trong x86 ... nó hoạt động. Khi tôi trở lại x64 nó không hoạt động. Rất lạ. – Vlad

+0

+1 Cảm ơn gợi ý. Đối với tôi, kích hoạt quá trình lưu trữ đã làm các trick, mặc dù tôi vẫn còn trên vs2010. Tuy nhiên, câu hỏi vẫn là lý do tại sao điều đó sẽ tạo nên sự khác biệt. – takrl

Trả lời

2

Không có sự khác biệt giữa hai loại. Nhiều khả năng bạn có một sự khác biệt về cấu hình giữa các cấu hình biên dịch x86 và x64 của bạn. Kiểm tra để đảm bảo rằng bạn đang tạo ứng dụng bảng điều khiển trong cả hai trường hợp.

+0

Bạn không cần phải tạo ứng dụng bảng điều khiển để sử dụng 'Console.WriteLine' , nếu bạn gọi nó từ bất kỳ loại dự án nào nó * sẽ * hiển thị trong [Cửa sổ đầu ra] (http://msdn.microsoft.com/en-us/library/3hk6fby3.aspx). – Amicable

+0

Điều này đúng, nhưng 'Console.WriteLine' _won't_ hiển thị trong cửa sổ bảng điều khiển ứng dụng nếu bạn chạy ứng dụng bên ngoài Visual Studio. Đó là những gì câu hỏi đã được về, như tôi hiểu nó. – shellster

+0

Vâng, cả hai x64 và x86 của tôi xây dựng vô hiệu hóa quá trình lưu trữ hình ảnh studio. Tuy nhiên, x86 vẫn hiển thị thông báo console. Nếu tôi kích hoạt quá trình lưu trữ, x64 cũng vậy. Tôi chỉ cố gắng để hiểu tại sao có sự khác biệt giữa x86 và x64 xây dựng unhosted. – Vlad

1

Đảm bảo bạn sao chép cài đặt từ AnyCpu trong khi tạo x64. Tôi đã có một vấn đề tương tự nhưng một khi tôi sao chép nó, nó đã làm việc tốt.

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