【问题标题】:Microsoft Server 2008 R2 not writing to text file from task schedulerMicrosoft Server 2008 R2 未从任务计划程序写入文本文件
【发布时间】:2013-09-24 09:54:26
【问题描述】:

我已经在网上进行了一些广泛的搜索,但是我似乎无法找到解决我所面临问题的具体解决方案。最接近的是这篇文章......但仍然没有解决方案:(scheduled task run .exe problem

该环境基本上是运行 C# 控制台应用程序的 Windows Server 2008 R2。当我手动运行控制台应用程序时,会创建并附加一个文本文件(使用 NLog),但是当我使用域管理员帐户从 Windows 调度程序运行控制台时,应用程序运行(正如我从事件查看器日志中破译的那样)但文本文件未创建/附加。我还尝试更改运行计划任务的帐户(从域管理员帐户更改为本地管理员帐户),但问题仍然存在。

想不出我还能做什么。任何新的想法都值得赞赏:)

【问题讨论】:

  • 你在哪里写文件?您确定应用程序可以在此特定上下文中写入此路径(计划任务)吗?
  • 另外,您可以发布编写文件的代码吗?确保您将 NLog 的完整路径指定为作为任务运行意味着工作目录将有所不同。

标签: c# windows text nlog


【解决方案1】:

将 id 帖子视为答案,因为将代码放入其中更容易:

确保指定 NLog 的完整路径:

string filepath = Path.Combine(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),"NLog.txt");

当作为计划任务运行时,您的应用程序的工作目录可以不同,例如在系统下运行意味着工作目录是 C:\Windows\System32。

这可能是你的问题。

【讨论】:

    猜你喜欢
    • 2012-06-29
    • 2016-02-21
    • 1970-01-01
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 2016-08-31
    • 1970-01-01
    • 2014-01-11
    相关资源
    最近更新 更多