【发布时间】:2019-11-22 14:00:13
【问题描述】:
我一直在尝试将这个程序转换为作为计划任务运行。每当我手动运行程序时,程序运行良好,但它似乎无法作为计划任务正常运行。任务调度程序会说它正在运行并成功完成,但没有记录任何内容,也没有将结果输出到文件中。手动运行时,我得到了我想要的结果。
我在服务器上使用带有 .NET 版本 4.6.2 的 Visual Studio 2015。我尝试为所有不同版本的 .NET 编译程序,但没有成功。
该文件位于本地驱动器中,并从 C:\folder\folder\bin\debug\executable(application) 执行。它应该写入的文件也位于调试文件夹中。我没有指定要写入的文件的完整路径,因为我假设由于文件在工作目录中,它会找到指定的文件。
任何帮助将不胜感激。我已经看这个太久了。
谢谢
【问题讨论】:
-
您在哪个用户下运行任务?
-
也知道没有人可以在这里说“你需要做 X”,可能有很多原因导致您的程序在计划时无法正常运行,所以这个问题很可能会被关闭为太宽泛了。
-
另外,请不要假设。当您设置计划任务时,您可以选择指定“开始于”,您这样做了吗?
-
@LasseVågsætherKarlsen 看到这就是我需要的答案。我认为它现在正在工作。为什么“开始”会产生如此大的差异?如果指定了路径,它不会使用该目录吗?
-
程序开始在其当前工作目录中运行。是否在命令行上指定路径并不重要。这是有充分理由的。例如,程序的可执行文件通常(可能应该)在用户无法写入的目录中。如果程序在默认目录中指定输出文件,则更改到程序文件的位置会导致输出失败。
标签: c# .net scheduled-tasks exchange-server