我的C#应用​​程序返回0xE0434352到Windows任务计划程序,但它没有崩溃

Kyn*_*rek 67 .net c# scheduled-tasks task

我已经编写了一些我通过Windows任务调度程序运行的C#应用​​程序.它们正在成功运行(我可以从他们正在编写的日志文件中看到)但是Windows任务调度程序显示它们返回的最后一次运行结果0xE0434352.我在C#应用程序中需要做些什么才能将成功代码返回给Windows任务调度程序?

小智 81

另一种选择是简单地使用可通过Windows事件查看器访问的应用程序日志..Net错误将记录到应用程序日志中.

  • 在我的情况下,事件日志包括堆栈跟踪,确实非常有用. (3认同)
  • 只是为了完全迂腐,请注意事件日志中可能有两个错误.不要只关注最新的一个; 第一个可能包含更多有趣的信息. (3认同)

Dmi*_*kov 33

在新窗口中设置作业时,您有两个字段" program/script "和" Start in(Optional) ".将程序名称放在第一位,将程序位置放在第二位.如果你不这样做,你的程序不在exe目录下启动,它将找不到位于其中的文件.

  • 究竟.如果在代码中使用相对路径,则需要指定程序位置.它通常是exe文件的路径. (5认同)

Kyn*_*rek 23

Hans Passant是正确的,我为AppDomain.CurrentDomain.UnhandledException添加了一个处理程序,如此处所述http://msdn.microsoft.com/en-us/library/system.appdomain.unhandledexception(v=vs.71).aspx我是能够找到正在发生的异常并纠正它.

  • 你介意分享实际的例外吗? (13认同)

Ran*_*ris 12

我正在引用一个映射的驱动器,我发现映射的驱动器并不总是可用于运行计划任务的用户帐户,所以我使用\\IPADDRESS而不是,MAPDRIVELETTER:我正在运行.


MDa*_*ave 7

如果它帮助其他人,当运行任务的服务没有对​​可执行位置的写权限时,我收到此错误.它试图在那里写一个日志文件.