7

testowania projektu w Visual Studio 2012.Console.WriteLine działa na x86 x64, ale nie mam

Kiedy uruchomić mój kod x86, Console.Writeline pokazuje się w oknie wyjściowym. Jednak gdy uruchomię go na x64, nie działa.

Rozumiem, że mogę zamiast tego używać System.Diagnostics.Debug, ale naprawdę chciałbym zrozumieć, dlaczego Console.Writeline nie działa, lub jeśli istnieje gdzieś ustawienie.

Dzięki.

Edytuj: Obserwacja: Proces hostowania programu Visual Studio jest wyłączony dla obu wersji. Po włączeniu wszystkie komunikaty Console.Writeline są wyświetlane zarówno dla x64, jak i x86. Kiedy ponownie go wyłączę, tylko x86 wyświetla Console.Writeline.

+2

Niektóre informacje o tym, co się dzieje? Błędy czy coś? – ChruS

+0

Brak błędów, normalna funkcjonalność oprogramowania, po prostu okno Console.Writeline nie wyświetla się w oknie wyjściowym. Jeśli wszystko posprzątam i ponownie skompiluję w x86 ... to działa. Kiedy wróciłem do x64, to nie działa. Bardzo dziwny. – Vlad

+0

+1 Dzięki za podpowiedź. Dla mnie włączenie procesu hostingu sprawiło, że sztuczka, mimo że nadal jestem na vs2010. Pozostaje jednak pytanie, dlaczego to powinno zrobić różnicę. – takrl

Odpowiedz

2

Nie powinno być różnicy między tymi dwoma. Najprawdopodobniej istnieje różnica konfiguracji między profilami kompilacji x86 i x64. Sprawdź, czy tworzysz aplikację konsolową w obu przypadkach.

+0

Nie trzeba tworzyć aplikacji konsolowej, aby korzystać z 'Console.WriteLine' , jeśli wywołasz go z dowolnego typu projektu, * powinien * pojawić się w [oknie wyjściowym] (http://msdn.microsoft.com/en-us/library/3hk6fby3.aspx). – Amicable

+0

To prawda, ale 'Console.WriteLine' _won't_ pojawia się w oknie konsoli aplikacji, jeśli uruchamiasz aplikację poza programem Visual Studio. O to właśnie chodziło, jak to rozumiałem. – shellster

+0

Cóż, zarówno moje kompilacje x64, jak i x86 wyłączają proces hostingu wizualnego. Jednak x86 nadal wyświetla komunikaty konsoli. Jeśli włączę proces hostingu, to również x64. Po prostu próbuję zrozumieć, dlaczego istnieje różnica między niehostowanymi kompilacjami x86 i x64. – Vlad

1

Upewnij się, że skopiowałeś ustawienia z AnyCpu podczas tworzenia x64. Miałem podobny problem, ale kiedy go skopiowałem, wszystko działało dobrze.

Powiązane problemy