最近写c#程序,单独运行没有问题。可以读取程序目录下的文件,而且能写同一目录下的日志文本文件。但
用任务计划(taks schedule)调用程序运行会出问题。不会写日志文件。调试很久,发现是程序获取当前运行
目录写法有问题。System.Environment.CurrentDirectory;获取当前路径单独运行没有问题。放在任务计划中,
获取的却是任务计划的路径C:\Windows\system32;可能和任务计划的设计和运行原理有关。后来
改为获取当前进程的完整路径,包含文件名(进程名)才解决。尤其是发布在服务器上的程序。很难
调试,出来问题,首先怀疑的就是分配给自己的用户权限问题。服务器人员不懂程序,扯来扯去。很
麻烦。
string currentpath = System.Reflection.Assembly.GetExecutingAssembly().Location;
string[] name = currentpath.Split('\\');
string path="";
for (int i = 0; i < name.Length-1; i++)
{
path+=name[i]+@"\";
}
path = path + @"\log\test.txt";