c# - Microsoft Server 2008 R2 不从任务计划程序写入文本文件

标签 c# windows text nlog

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

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

想不出我还能做什么。任何新鲜的想法都会受到赞赏:)

最佳答案

将 id 帖子作为答案,因为它更容易将代码放入:

确保指定 NLog 的完整路径:

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

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

这可能是您的问题。

关于c# - Microsoft Server 2008 R2 不从任务计划程序写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18978316/

相关文章:

c# - 为什么我的 Exchange ResolveNames 搜索只返回 100 行?

c# - 如何获取括号内的括号

windows - UWP 在 ItemsControl 项目上添加动画

PHP ZipArchive 无法在 Windows 下运行的 Ubuntu Linux 上提取文件

javascript - 将大型 txt 文件转换为任何结构化格式

c# - 为同一个匿名方法创建两个委托(delegate)实例不相等

c# - 如何在单声道中获取 linux 分发信息?

Windows 批处理文件 : how to enable inline echo of a command

python - python3-tkinter 中的只读文本小部件;跨平台

javascript - 如何使用 JQuery 捕获用户输入的文本?