2011-02-13 5 views
1

WinForms 앱을 만들었습니다. 콘솔 (cmd)에서 실행할 때 콘솔에 Console.WriteLine을 사용하여 기록한 내용이 표시되지 않습니다. 프로그램이 실행을 마칠 때까지는 "정지"됩니다. VS에서 출력은 디버그 및 릴리스 모드에서 많은 정보를 보여줍니다.Console.WriteLine이 VS 외부에서 작동하지 않는 이유는 무엇입니까?

콘솔 및 추적 도구를 사용하고 나중에 일부 외부 환경에서 작동하지 않는 이유를 확인할 수 있기를 희망했습니다. 콘솔에서 어떻게 활성화할까요?

+4

이유에 대한 답은 WinForms 응용 프로그램이 콘솔 프로세스를 소유하지 않아서 System.Console이 해당 콘솔 창을 참조하지 않는다는 것입니다. 귀하의 응용 프로그램을 시작한 콘솔 프로세스를 시작하려면 Windows API를 호출해야한다고 생각합니다. – BoltClock

+1

로깅을 위해 아마도 log4Net을 사용하십시오 .... –

답변

1

"MyApp.exe> ​​a.log"를 실행하면 충격을 받았지만 원하는 정보가있는 로그 파일이 생성되었습니다.

+3

충격을받지 마십시오; Console.WriteLine은 표준 출력에 쓰고, 표준 출력을 텍스트 파일로 리디렉션합니다. –

1

this과 같은 콘솔 오류 출력을 리디렉션하면 나에게 도움이 될 것입니다. 아니면 Log4Net @ Mitch Wheat와 같이 사용할 수 있습니다.

+0

Thx 제안을 위해,하지만 다른 방법으로 해킹 할 수있었습니다 :) – IAdapter

관련 문제