从C#中的另一个项目写入ConsoleApplication项目
本文关键字:项目 ConsoleApplication 另一个 | 更新日期: 2023-09-27 18:00:33
我有一个WinForms和一个ConsoleApplication项目。我在启动时启动这两个项目,并希望从WinForms应用程序向控制台应用程序写入"实时"信息。控制台应用程序非常简单:
static void Main(string[] args)
{
while (true)
{
// This prevents the console from dying
Console.ReadKey();
}
}
public static void WriteMessage(string message)
{
Console.WriteLine(message);
}
我从WinForms应用程序调用WriteMessage
函数,但这不起作用。我在WriteMessage方法中放了一个断点,它被击中了,但控制台屏幕上什么都没有放,这让我觉得这是因为main
中的while循环。我甚至试着把while循环放到另一个线程中,但仍然没有成功。如有任何帮助,我们将不胜感激。
控制台属于进程,而不是Visual Studio项目
大多数应用程序(包括WinForms应用程序)都有一个隐藏的控制台
从WinForms进程调用控制台项目的WriteMessage()
仍然会写入WinForms进程的控制台,这就是为什么您没有看到任何内容。。
相反,您应该删除控制台项目,然后将WinForms应用程序的Output Type
(在项目属性中)设置为控制台应用程序
这将使WinForms应用程序有一个可见的控制台,这样Console.WriteLine
就可以正常工作。