我開發了一個控制檯應用程序以生成一系列報告,如果我雙擊已部署的應用程序(.exe),它將正常運行,但是如果我使用Windows任務調度程序,我收到一條消息說,{APP NAME}有停止工作,代碼永遠不會執行。控制檯應用程序在任務計劃調用時已停止工作
如果需要的意見,我可以提供更多的信息
的Windows Server 2008 SP2標準 框架4.0 instaled
我開發了一個控制檯應用程序以生成一系列報告,如果我雙擊已部署的應用程序(.exe),它將正常運行,但是如果我使用Windows任務調度程序,我收到一條消息說,{APP NAME}有停止工作,代碼永遠不會執行。控制檯應用程序在任務計劃調用時已停止工作
如果需要的意見,我可以提供更多的信息
的Windows Server 2008 SP2標準 框架4.0 instaled
我不知道你有你的Main
方法,但你可以嘗試是這樣的:
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
AppDomain.CurrentDomain.UnhandledException += HandleUnhandledExceptionEvent;
}
private static void HandleUnhandledExceptionEvent(Object sender, System.UnhandledExceptionEventArgs e)
{
//write details to file or output to console, popup message, etc.
}
}
}
以我的經驗
,這些類型的「停止工作」的錯誤有時會獲取引發未處理的異常的結果。
這只是一個黑暗中的鏡頭,但我希望它可以幫助你的情況。
酷招但它沒有觸發,我強制測試它以查看是否存在以及錯誤的事件得到觸發器,它的工作原理,但是當我把它放在調度器,我不甚至事件訂閱甚至獲得執行(主要第一行) –
我回應了一箇舊帖子,以防它幫助別人。我遇到過同樣的問題。事件日誌表示程序正常完成,但即使第一行代碼也不會寫入日誌中。它最終成爲Task Scheduler中的「Start In」選項。我想到當我在當前目錄下時,程序從命令行運行正常。在同一個目錄中有清單文件和其他依賴項。因此,如果您告訴計劃的作業在EXE的同一目錄中啓動,您可能會得到滿意的結果。這是我的解決方案。
如果您發現更多詳細信息並在此處發佈,請查看事件查看器。在此之前,我的猜測進入用戶許可方向。 – Marco
您也可以嘗試記錄應用程序正在嘗試執行的任何操作。 – crashmstr
除了權限之外,您可能必須設置應用程序的工作目錄。這是Task Scheduler中的一個選項。 –