[c#] Console.WriteLine이 출력 창에 표시되지 않습니다.

Console.WriteLine테스트를 위해 몇 가지 호출을 입력 했지만 출력 상자에 나타나지 않습니까?

public static ArrayList myDeliveries = new ArrayList();

public mainForm(){
    InitializeComponent();
}

private void mainForm_Load(object sender, EventArgs e){

    if (!File.Exists("../../MealDeliveries.txt")){
        MessageBox.Show("File not found!");
        return;
    }

    using (StreamReader sr = new StreamReader("../../MealDeliveries.txt")){
        //first line is delivery name 
        string strDeliveryName = sr.ReadLine();
        Console.WriteLine("Test content");

        while (strDeliveryName != null){

            //other lines 
            Delivery d = new Delivery(
                strDeliveryName,
                sr.ReadLine(),
                sr.ReadLine(),
                sr.ReadLine(),
                sr.ReadLine(),
                sr.ReadLine(),
                sr.ReadLine()
            );

            mainForm.myDeliveries.Add(d);

            //check for further values
            strDeliveryName = sr.ReadLine();
        }
    }

    displayDeliveries();


}


private void displayDeliveries(){

    lstDeliveryDetails.Items.Clear();
    Console.WriteLine("Test content");
    Console.WriteLine(mainForm.myDeliveries.Count);
    foreach (Delivery d in mainForm.myDeliveries){
        lstDeliveryDetails.Items.Add(d.DeliveryName);

    }
}

누구든지 도울 수 있습니까 ??



답변

프로덕션에서이 출력을 사용하려면 Trace 클래스 멤버 를 사용하십시오 . 이렇게하면 코드를 이식 할 수 있고 다양한 유형의 리스너를 연결하고 콘솔 창, 디버그 창, 로그 파일 또는 원하는 다른 항목에 출력 할 수 있습니다.

이것이 특정 코드가 실행되고 있는지 또는 올바른 값이 있는지 확인하는 데 사용하는 임시 디버깅 코드 인 경우 Zach가 제안한 대로 Debug 클래스 를 사용합니다 .

반드시 콘솔을 사용해야하는 경우 프로그램의 메서드에 콘솔연결할있습니다Main .


답변

Console콘솔 창 및 Winforms 응용 프로그램에 대한 출력은 콘솔 창을 표시하지 않습니다. System.Diagnostics.Debug.WriteLineIDE의 출력 창에 출력을 보내는 데 사용할 수 있어야합니다 .

편집 : 문제와 관련하여 mainForm_Load실제로 전화를 받고 있는지 확인 했습니까? 보기 시작 부분에 중단 점을 배치 할 수 mainForm_Load있습니다. 호출 mainForm_Load되지 않으면 Load이벤트에 연결되지 않은 것 같습니다 .

또한 파생 클래스 내에서 On{EventName}구독하는 대신 재정의하는 것이 더 효율적이고 일반적으로 더 좋습니다 {EventName}(귀하의 경우 OnLoad대신 재정 의 Load).


답변

당신이 원하는 경우 Console.WriteLine("example text")일시적으로 디버그 출력 창에 표시 Windows 응용 프로그램에 콘솔 응용 프로그램에서 응용 프로그램의 출력 유형을 변경 출력.

메뉴에서 프로젝트 + 속성을 선택하고 출력 유형 : 드롭 다운으로 이동하고 Windows 응용 프로그램으로 변경 한 다음 응용 프로그램을 실행합니다.

물론 IDE 외부에서 실행되는 콘솔 애플리케이션을 빌드하려면 다시 변경해야합니다.

(Visual Studio 2008 및 2010으로 테스트되었으며 이후 버전에서도 작동 할 것으로 예상)


답변

를 사용하면 Console.WriteLine( "Test" );Windows Forms / WPF 프로젝트에 대한 Visual Studio의 출력 창 (보기 메뉴-> 출력)에 로그 메시지를 쓸 수 있습니다.

그러나 작동하지 않고 작동하는 경우가 발생 System.Diagnostics.Debug.WriteLine( "Test" );했습니다. Visual Studio를 Console.WriteLine()다시 시작하고 다시 작업하기 시작했습니다. Visual Studio 버그 인 것 같습니다.


답변

명령 줄 응용 프로그램을 개발하는 경우 Console.ReadLine()코드 끝에서을 사용하여 콘솔 창을 닫기 전에 ‘Enter’키 누름을 기다려 출력을 읽을 수도 있습니다. 그러나 위에 게시 된 추적 및 디버그 답변 모두 더 나은 옵션입니다.


답변

“관리되는 호환성 모드 사용”확인란의 선택을 취소하십시오.

도구 => 옵션 => 디버깅 => 일반

그것은 나를 위해 일했습니다.


답변

Mac VS 2017에서 문제가 발생할 때 (내가 직면 한 문제).

  1. 프로젝트 >> “프로젝트 이름”옵션으로 이동합니다.
  2. 옵션 창이 나타납니다.
  3. RUN >> 기본 메뉴 옵션으로 이동
  4. “외부 콘솔에서 실행”옵션을 TRUE로 선택하고 확인을 말합니다.

지금 애플리케이션 코드를 실행하십시오.