从C#中的其他项目写入ConsoleApplication项目

Ari*_*edi 2 c# console console-application

我有一个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);
  } 
Run Code Online (Sandbox Code Playgroud)

WriteMessage从WinForms应用程序调用该函数,但这不起作用.我在WriteMessage方法中放了一个断点,它被命中,但没有任何东西放在控制台屏幕上,这让我觉得这是因为while循环main.我甚至尝试将while循环放在不同的线程中,但仍然没有成功.任何帮助,将不胜感激.

SLa*_*aks 6

控制台属于进程,而不属于Visual Studio项目

大多数应用程序(包括您的WinForms应用程序)都有一个隐藏的控制台 从WinForms进程
调用控制台项目WriteMessage()仍然写入WinForms进程的控制台,这就是为什么你没有看到任何东西..

相反,您应该删除控制台项目,然后将Output TypeWinForms应用程序(在"项目属性"中)设置为"控制台"应用程序.
这将使WinForms应用程序具有可见的控制台,这样Console.WriteLine就可以了.