2013-11-27 64 views
0

我開發了一個控制檯應用程序以生成一系列報告,如果我雙擊已部署的應用程序(.exe),它將正常運行,但是如果我使用Windows任務調度程序,我收到一條消息說,{APP NAME}有停止工作,代碼永遠不會執行。控制檯應用程序在任務計劃調用時已停止工作

如果需要的意見,我可以提供更多的信息

的Windows Server 2008 SP2標準 框架4.0 instaled

+3

如果您發現更多詳細信息並在此處發佈,請查看事件查看器。在此之前,我的猜測進入用戶許可方向。 – Marco

+1

您也可以嘗試記錄應用程序正在嘗試執行的任何操作。 – crashmstr

+0

除了權限之外,您可能必須設置應用程序的工作目錄。這是Task Scheduler中的一個選項。 –

回答

0

我不知道你有你的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. 
     } 
    } 
} 
以我的經驗

,這些類型的「停止工作」的錯誤有時會獲取引發未處理的異常的結果。

這只是一個黑暗中的鏡頭,但我希望它可以幫助你的情況。

+0

酷招但它沒有觸發,我強制測試它以查看是否存在以及錯誤的事件得到觸發器,它的工作原理,但是當我把它放在調度器,我不甚至事件訂閱甚至獲得執行(主要第一行) –

1

我回應了一箇舊帖子,以防它幫助別人。我遇到過同樣的問題。事件日誌表示程序正常完成,但即使第一行代碼也不會寫入日誌中。它最終成爲Task Scheduler中的「Start In」選項。我想到當我在當前目錄下時,程序從命令行運行正常。在同一個目錄中有清單文件和其他依賴項。因此,如果您告訴計劃的作業在EXE的同一目錄中啓動,您可能會得到滿意的結果。這是我的解決方案。

相關問題