无法将Console.Writeline重定向到Visual Studio窗口

7

我有一个程序,只有Console.WriteLine("abc");

我希望将输出内容显示在Visual Studio窗口中,而不是弹出的cmd窗口。

我尝试了在这个Stack Overflow链接中提到的方法,但没有用。

我创建了一个新的项目:File..New...Project..Visual C#.. Windows.. Console Application
enter image description here

然后我去debug..options and settings.. 勾选了 "Redirect all output text to the intermediate window"

enter image description here

enter image description here

但这些都没有起作用!

当我单击“开始”或按F5时,仍会出现命令窗口。

实际上,我希望不要出现命令窗口,并且将输出重定向到输出窗口。

enter image description here

enter image description here

enter image description here

增加内容

有人建议我检查中间窗口(Ctrl-Alt-I)

它是空白的。

有人建议我进入项目..属性并将应用程序类型更改为Windows应用程序。

当我这样做时,没有cmd窗口弹出(很好)。 但是我在输出窗口或中间窗口中看不到任何命令输出。 中间窗口为空。

以下是当应用程序类型设置为控制台时的情况

请注意,输出窗口没有cmd输出,中间窗口为空。

enter image description here

enter image description here

以下是将应用程序类型设置为Windows应用程序时

啊,我在输出窗口中看到它了。 我可能必须滚动一下.. 或者先清除它以使其更清晰。 在中间窗口中没有东西,但是我在输出窗口中看到了。

enter image description here

2个回答

4
在您链接的同一个问题中,有另一个答案。除了您上面执行的步骤之外,您还需要将项目从控制台应用程序更改为Windows应用程序。
这会导致输出到输出窗口:
请看以下截图:

我尝试了那个,但是没有命令窗口弹出,输出窗口也没有任何输出。 - barlop
我刚试过了,它可以正常工作。命令窗口不会弹出(这是你想要的),你也无法与应用程序交互,但你可以在输出窗口中获得输出信息。 - Gigi
否则,如果你还想要cmd窗口,请使用System.Diagnostics.Trace而不是Console.WriteLine。 - Gigi
当我将类型更改为Windows应用程序时,我没有弹出cmd提示符(很好),但是输出窗口或中间窗口都没有cmd输出。而且中间窗口是空的。 - barlop
那个选项非常误导(它说会重定向到立即窗口,但实际上并没有),我想知道为什么它会这样工作。 - Gigi
显示剩余3条评论

0

尝试在带有 \n 的字符串中添加换行符。 通常发生这种情况是因为您没有添加换行符。 文本在实际打印之前存储在行缓冲区中。

这可能在控制台和 Visual Studio 窗口之间有所不同吗?


WriteLine 会自动添加一个 \n,但我尝试在字符串中添加 \n,但仍然没有在输出窗口或中间窗口中看到任何内容。 - barlop

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接