牛骨文教育服务平台(让学习变的简单)
博文笔记

c#获取可运行程序(exe)路径问题

创建时间:2016-12-07 投稿人: 浏览次数:1006

最近写c#程序,单独运行没有问题。可以读取程序目录下的文件,而且能写同一目录下的日志文本文件。但

用任务计划(taks schedule)调用程序运行会出问题。不会写日志文件。调试很久,发现是程序获取当前运行

目录写法有问题。System.Environment.CurrentDirectory;获取当前路径单独运行没有问题。放在任务计划中,

获取的却是任务计划的路径C:Windowssystem32;可能和任务计划的设计和运行原理有关。后来

改为获取当前进程的完整路径,包含文件名(进程名)才解决。尤其是发布在服务器上的程序。很难

调试,出来问题,首先怀疑的就是分配给自己的用户权限问题。服务器人员不懂程序,扯来扯去。很

麻烦。

 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 est.txt";

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。