我有一个简单的C#控制台应用程序,它将一些信息写入文本文件。从桌面打开时(通过单击.exe文件)应用程序正常工作。但是,当我通过命令提示符打开应用程序时,控制台窗口将正常打开,但应用程序不会向文本文件写入任何内容(其他代码函数在控制台窗口中正常工作)。
Fyi我需要通过命令提示符打开应用程序,因为稍后exe应用程序将放在服务器上并从php脚本调用(使用exec或shell_exec)。
我认为这可能是写权限或其他问题,但在任何时候都不会抛出任何错误,所以我不确定。有什么想法吗?
我的代码:
static void Main(string[] args)
{
string arg="";
try
{
arg = args[0];
}
catch {
}
using (StreamWriter outputWriter = File.AppendText(@"C:\Archive\test.txt"))
{
outputWriter.WriteLine("arg="+arg);
}
Console.WriteLine("Test");
Console.ReadLine();
}
答案 0 :(得分:1)
从命令行运行应用程序时,当前目录取决于您在提示符中的位置。
运行.exe时,请确保从与要写入的文件相同的目录运行它。
如果这样可以解决问题,那么您需要编写代码来处理要写入的文件不在当前目录中的情况,可以通过代码进行设置。
答案 1 :(得分:0)
嗯,我不知道发生了什么,但我现在通过命令提示符再次尝试,代码按预期工作。可能是我删除了任何隐藏的错误,因为我清理了代码以便在此处发布。呃..: - )