File.AppendText 试图写入错误的位置
File.AppendText attempting to write to wrong location
我有一个 C# 控制台应用程序,它作为 Windows 任务计划程序中的计划任务运行。此控制台应用程序写入一个日志文件,当在调试模式下运行时,该文件会创建并写入应用程序文件夹本身内的文件。但是,当它在任务计划程序中运行时,它会抛出一个错误,指出访问被拒绝,因为它试图写入同一个日志文件,但由于某种原因,它试图在 windows\system32 文件夹中写入它。为什么会这样?我该如何纠正这个问题?
这是将 StreamWriter 分配给日志文件的代码片段:
static void Main(string[] args)
{
using (_swrtr = File.AppendText("gapi_gen_log.txt"))
{
_swrtr.Write("\r\n");
_swrtr.Write("\r\nGOOGLE CALENDAR:");
_swrtr.Write("\r\n\tDate Time - " + DateTime.Now.ToLongDateString() + " " + DateTime.Now.ToLongTimeString());
start();
}
}
我也试过了,但是没用:
string dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
using (_swrtr = File.AppendText(dir + "gapi_gen_log.txt"))
{
_swrtr.Write("\r\n");
_swrtr.Write("\r\nGOOGLE CALENDAR:");
_swrtr.Write("\r\n\tDate Time - " + DateTime.Now.ToLongDateString() + " " + DateTime.Now.ToLongTimeString());
start();
}
发生这种情况是因为您没有为日志文件指定目录,所以它假设父可执行文件所在的目录在您调试时是调试输出文件夹,当您 运行 它来自任务计划程序,是 "c:\windows\system32" 文件夹。
您可以像这样提供目录路径:
File.AppendText(@"c:\MyLogFiles\gapi_gen_log.txt")
我有一个 C# 控制台应用程序,它作为 Windows 任务计划程序中的计划任务运行。此控制台应用程序写入一个日志文件,当在调试模式下运行时,该文件会创建并写入应用程序文件夹本身内的文件。但是,当它在任务计划程序中运行时,它会抛出一个错误,指出访问被拒绝,因为它试图写入同一个日志文件,但由于某种原因,它试图在 windows\system32 文件夹中写入它。为什么会这样?我该如何纠正这个问题?
这是将 StreamWriter 分配给日志文件的代码片段:
static void Main(string[] args)
{
using (_swrtr = File.AppendText("gapi_gen_log.txt"))
{
_swrtr.Write("\r\n");
_swrtr.Write("\r\nGOOGLE CALENDAR:");
_swrtr.Write("\r\n\tDate Time - " + DateTime.Now.ToLongDateString() + " " + DateTime.Now.ToLongTimeString());
start();
}
}
我也试过了,但是没用:
string dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
using (_swrtr = File.AppendText(dir + "gapi_gen_log.txt"))
{
_swrtr.Write("\r\n");
_swrtr.Write("\r\nGOOGLE CALENDAR:");
_swrtr.Write("\r\n\tDate Time - " + DateTime.Now.ToLongDateString() + " " + DateTime.Now.ToLongTimeString());
start();
}
发生这种情况是因为您没有为日志文件指定目录,所以它假设父可执行文件所在的目录在您调试时是调试输出文件夹,当您 运行 它来自任务计划程序,是 "c:\windows\system32" 文件夹。
您可以像这样提供目录路径:
File.AppendText(@"c:\MyLogFiles\gapi_gen_log.txt")