应用程序可以在手动运行时保存文件,但在任务计划程序运行时不能保存

时间:2014-12-04 09:12:01

标签: c# windows windows-server-2008 scheduler

我有一个简单的命令行应用程序,它每晚创建一个数据库的CSV转储并发送一封电子邮件。它创建的文件保存在我在app.config中引用的映射网络驱动器上,如下所示:

<add key="Path" value="X:\Path\To\Folder" />

如果我从命令行运行它,一切正常,但当它由任务计划程序运行时,它会抛出以下异常:

  

System.IO.DirectoryNotFoundException:找不到路径'X:\ Path \ To \ Folder \ File.csv'的一部分。

任务运行的帐户具有管理员权限,我还尝试将其作为域管理员运行,但无济于事。

系统在Windows Server 2008 R2上运行,但我不确定这是否有所作为。

1 个答案:

答案 0 :(得分:2)

根据this MSDN forum post

  

...当没有人登录时,映射的驱动器将不存在,因此总是最好使用UNC路径;

     

<强> \\服务器\共享名

因此将路径字符串更改为:

<add key="Path" value="\\Server\Share\Path\To\Folder" />

将确保即使地图不可访问也可以访问驱动器。