为什么c#控制台应用程序没有';不支持重定向到文件?
我创建了一个经典的控制台应用程序为什么c#控制台应用程序没有';不支持重定向到文件?,c#,console,C#,Console,我创建了一个经典的控制台应用程序 static void Main(string[] args) { 除非我试图将输出重定向到文件,否则它是有效的 myconsoleapp.exe arg1 arg2 arg3 > output.txt C#console是否支持重定向?如果生成以下类: class Program { static void Main(string[] args) { Console.WriteLine("Hel
static void Main(string[] args)
{
除非我试图将输出重定向到文件,否则它是有效的
myconsoleapp.exe arg1 arg2 arg3 > output.txt
C#console是否支持重定向?如果生成以下类:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World! - {0}", args[0]);
}
}
执行
app.exe test > test.txt
您将获得包含内容的test.txt文件
Hello World! - test
如果您的代码执行不同的输出写入,请提供写入输出的方法。如果没有更多信息,很难找出问题所在。我的一个想法是,您可能正在使用System.Diagnostics.Debug.WriteLine写入调试控制台。在这种情况下,您将无法以相同的方式重定向输出,至少不需要更多的工作。可能您的消息正在发送到STDERR,而不是STDOUT。在这种情况下,您需要以不同的方式重定向。根据Microsoft的指导(): 您可以打印错误和标准 通过使用 重定向输出的“&1”命令 用于将STDERR发送到STDOUT,然后发送 从标准输出到文件的输出:
dir file.xxx 1>output.msg 2>&1
或者,您可以将输出重定向到一个
将错误转移到另一个位置
dir file.xxx>output.msg 2>output.err
什么不起作用?请给我们看完整的代码。你在写什么?你想怎么写?Console.WriteLine只需转到标准输出,重定向就会起作用。-1表示“它不起作用”,没有详细信息。