7

我在Visual Studio 2012年Console.Writeline工作在x86而不是64

測試項目當我86我的代碼運行,Console.Writeline在輸出窗口中顯示出來。但是,當我在x64中運行它時,它不會。

我知道我可以用System.Diagnostics.Debug來代替,但我真的很想明白爲什麼Console.Writeline不工作,或者是否有某個設置。

謝謝。

編輯:觀察:兩個版本的Visual Studio宿主進程都被禁用。當我啓用它時,所有Console.Writeline消息都顯示在x64和x86上。當我再次禁用它時,只有x86顯示Console.Writeline

+2

關於發生了什麼的一些信息?錯誤或卑鄙? – ChruS

+0

沒有錯誤,軟件的正常功能,只是Console.Writeline沒有出現在輸出窗口中。如果我清理一切並重新構建在x86中......它的工作原理。當我回到x64它不起作用。很奇怪。 – Vlad

+0

+1感謝您的提示。對我來說,即使我仍然在VS2010上,啓用託管過程也有訣竅。儘管如此,問題仍然是爲什麼應該改變。 – takrl

回答

2

兩者應該沒有區別。您的x86和x64編譯配置文件最有可能存在配置差異。檢查以確保您在兩種情況下構建控制檯應用程序。

+0

您不需要讓控制檯應用程序使用「Console.WriteLine」 ,如果您從任何項目類型調用它,它*應顯示在[輸出窗口](http://msdn.microsoft.com/en-us/library/3hk6fby3.aspx)中。 – Amicable

+0

這是真的,但是如果您在Visual Studio之外運行應用程序,則'Console.WriteLine' _不會顯示在應用程序控制臺窗口中。按照我的理解,這就是問題所在。 – shellster

+0

好吧,我的x64和x86版本都禁用了visual studio託管過程。但是,x86仍顯示控制檯消息。如果我啓用託管過程,則x64也可以。我只是想了解爲什麼在非主機x86和x64之間存在差異。 – Vlad

1

確保在創建x64時從AnyCpu複製設置。我有類似的問題,但一旦我複製它,它工作得很好。