1

我有一个 C# windows 服务。在该服务代码中,我定义 Main() 并捕获各种参数。如果 arg 是“安装”,我会调用代码来安装服务。请注意,当安装 arg 时,我没有运行服务,只是安装它,所以在我看来,这只不过是一个控制台应用程序。

当我在 vs.net 2012 中调试代码时,我在调试窗口中看到了我的所有 Console.WriteLine() 输出。我相信这是因为 VS.NET 将 STDOUT 映射到调试窗口。

但是,如果我打开命令提示符并运行命令行myservice.exe install,则控制台窗口没有输出。如果我运行,myservice.exe install > out.txt我会在 out.txt 中看到所有输出。发生了什么,我怎样才能让 Main() 代码实际将输出发送到控制台窗口?

4

1 回答 1

3

这可能是由于您的项目的输出类型;请注意,默认的 Windows 应用程序输出类型不会自动显示控制台窗口。为此,您可能希望将输出类型更改为控制台应用程序。

于 2013-03-22T06:45:24.447 回答