Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Console.WriteLine未显示在输出窗口中_C#_.net_Winforms - Fatal编程技术网

C# Console.WriteLine未显示在输出窗口中

C# Console.WriteLine未显示在输出窗口中,c#,.net,winforms,C#,.net,Winforms,我已经将一些控制台.WriteLine调用放入测试,但它们没有出现在输出框中 public static ArrayList myDeliveries = new ArrayList(); public mainForm(){ InitializeComponent(); } private void mainForm_Load(object sender, EventArgs e){ if (!File.Exists("../../MealDeliveries.txt")

我已经将一些
控制台.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);

    }
}

有人能帮忙吗???

控制台输出到控制台窗口,Winforms应用程序不显示控制台窗口。您应该能够使用
System.Diagnostics.Debug.WriteLine
将输出发送到IDE中的输出窗口

Edit:关于此问题,您是否已验证您的
mainForm\u Load
是否实际被调用?您可以在
mainForm\u Load
的开头放置一个断点以查看。如果没有调用它,我怀疑
mainForm\u Load
没有连接到
Load
事件


此外,在{EventName}
上重写
而不是从派生类中订阅
{EventName}
更有效,通常更好(在您的情况下,重写
OnLoad
而不是
Load
)。

如果您打算在生产中使用此输出,请使用类成员。这使得代码具有可移植性,您可以连接不同类型的监听器,并将其输出到控制台窗口、调试窗口、日志文件或任何您喜欢的内容

如果这只是一些临时调试代码,您正在使用它来验证某些代码是否正在执行或是否具有正确的值,那么请按照建议使用该类


如果您必须使用控制台,那么您可以在程序的
Main
方法中使用。

如果您希望
console.WriteLine(“示例文本”)
输出显示在调试输出窗口中,请将应用程序的输出类型从控制台应用程序临时更改为Windows应用程序

从菜单中选择“项目+属性”,并导航到“输出类型”:下拉,更改为Windows应用程序,然后运行应用程序

当然,为了构建一个在IDE之外运行的控制台应用程序,您应该将其更改回去


(在Visual Studio 2008和2010中进行了测试,希望它在以后的版本中也能工作)

如果您正在开发命令行应用程序,也可以在代码末尾使用
Console.ReadLine()
等待“回车”键,然后关闭控制台窗口,以便读取输出。但是,上面发布的跟踪和调试答案都是更好的选择

当Mac VS 2017发生问题时(我面临)

  • 转到项目>>“您的项目名称”选项
  • 将弹出一个选项窗口
  • 转到运行>>默认菜单选项
  • 勾选“在外部控制台上运行”选项TRUE并说OK

  • 现在运行应用程序代码

    选择查看>>输出打开输出窗口


    在输出窗口中,您可以使用控制台.WriteLine(“测试”)查看结果能够将日志消息写入Visual Studio中的输出窗口(查看菜单-->输出)


    然而,我遇到了一个例子,它不工作,只
    System.Diagnostics.Debug.WriteLine(“Test”)正在工作。我重新启动了Visual Studio并
    Console.WriteLine()
    再次开始工作。似乎是VisualStudio的一个bug

    旧线程,但在VS 2015控制台中。如果在项目属性->调试选项卡中未选中或禁用“启用Visual Studio宿主进程”,WriteLine不会写入输出窗口

    工具=>选项=>调试=>常规


    这对我很有效。

    像这样吗?System.Diagnostics.Debug.WriteLine(“一些tettttttt23423423423423tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt@Luke-是的,但您可以
    导入System.Diagnostics
    ,使其更简单。我更喜欢使用
    Trace
    类进行此操作。在Visual Studio的顶部导航栏中,转到View>Output以查看
    System.Diagnostics.Debug.WriteLine
    中的值。解决了问题,以错误的方式编写了代码。未正确编译如果希望快速复制应用程序的结果,这是一种更好的方法。为什么Console.Writeline在控制台应用程序中不起作用?这听起来很违反直觉。^^是的,什么?这一直有效。现在不是了。这感觉像是Visual Studio中的一个bug。我在调试以前的cpp/cli项目时打开了它,显然导致了此问题以及NLog未登录到控制台。这并不能回答问题。用户明确表示他们在输出窗口(因此选择了该窗口);VS中的building stuff将输出窗口切换为build;所以现在我必须单击输出,更改“ShowOutput from”中的项目,并滚动浏览数十条其他消息。