gpt4 book ai didi

c# - Console.WriteLine 在 VS2012 中不再工作

转载 作者:行者123 更新时间:2023-11-30 22:17:01 24 4
gpt4 key购买 nike

突然之间,我的 Console.WriteLine 不再在“输出”窗口中显示任何内容。 Debug.WriteLine 确实有效。我已经通过右键单击“输出”窗口检查了所有消息是否仍处于检查状态。我也检查了设置,但找不到任何东西。

我的想法用完了,有没有人知道如何解决这个问题?

最佳答案

让 Console.Write/Line() 的输出显示在 VS 输出窗口中是一项重要的功能。它需要使用“Visual Studio Hosting Process”进行调试。您会在构建目录和 TaskMgr.exe 的“进程”选项卡中看到它,它与您的项目同名,但以“vshost.exe”结尾。

在托管过程中发生了大量无形的魔法。它是 CLR 的自定义主机,它为 CLR 提供了与您通常运行的行为不同的行为。它的记录非常少,它存在的主要原因似乎与安全性有关。但它处理的一件好事是能够将使用 Console.Write 编写的输出重定向到输出窗口。

项目 + 属性,调试选项卡,确认“启用 Visual Studio 托管进程”选项仍处于选中状态。

否则这也许是一个幸运的事故。您确实应该在代码中使用 Debug.Print() 或 Debug.Write/Line() 来生成诊断字符串。它使用一种完全不同的方式来生成输出,一种不依赖于托管进程的方式。它使用默认的 TraceListener,直接与调试器对话。底层 winapi 调用是 OutputDebugString()。 Debug 类的最佳功能是当您构建程序的发布版本时,您在代码中进行的调用会自动删除。所以它们不再需要任何开销,Console.Write 就不是这样了。并且您可以重新配置跟踪监听器以生成输出到例如文件。

关于c# - Console.WriteLine 在 VS2012 中不再工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16997730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com