2017-05-07 42 views
1

我做了一个简单的c#.net控制台应用程序。这是一个将文件复制到另一个文件夹并将日期添加到文件名以保持唯一性的备份脚本。脚本运行完美。c#控制台应用程序保持在任务调度程序窗口中运行的状态2016

但是,当我在Windows任务计划程序中安排它时,它的状态将在应用程序关闭时启动后保持“正在运行”状态。

我试图结束主函数,返回值为0 ,我试图让“System.Environment.Exit(0);”作为应用程序的最后一行。 我还删除了所有其他代码,只是退出代码以确保错误不在我的代码中。

复选框“如果正在运行的任务没有在请求时结束,强制它停止”被启用。

所有这些都没有解决问题。

我运行Windows Server 2016

任何人都知道如何解决这个问题呢?

+0

这是否发生在包含'EXIT'的简单批处理文件中?如果没有,您可以使用该批处理文件启动应用程序,然后使用“退出”。在检查状态之前还要点击几次刷新按钮,afaik不会自动更新。 – Skynet

+0

@MarkBeijens你可以分享Main()方法吗? –

+5

你知道你必须在任务计划程序中点击F5或刷新来更新视图吗? –

回答

2

根据this TechNet上的讨论,它可能可能帮助将您的exe包装在批处理文件中。

但是,根据我的经验,必须主动刷新任务计划程序视图,例如通过按F5键。此解决方法也是针对SuperUser上类似问题的解决方案。

+0

哈哈我觉得很蠢。感谢你的回答。 –

1

在您的应用程序中可能存在问题。您可以尝试寻找这样的问题:

  1. 创建一个全新的空控制台应用程序。
  2. 在任务计划程序中创建一个新的任务。不要设置任何触发器,选项等。只需添加操作即可运行控制台应用程序。
  3. 测试一下 - 它应该没有任何问题。
  4. 一步一步添加新功能,然后测试。
  5. 一旦你遇到问题,你知道是什么原因造成的。

我在Windows 10上做了1-3次,它的工作方式和预期的一样。

相关问题