2017-05-07 6 views
1

私は単純なc#.netコンソールアプリケーションを作成しました。ファイルを別のフォルダにコピーし、そのファイルを一意に保つためにファイル名に日付を追加するバックアップスクリプトです。スクリプトは完全に実行されます。C#コンソールアプリケーションは、タスクスケジューラーウィンドウで実行中の状態を維持します。2016

ただし、Windowsタスクスケジューラでスケジュールを設定すると、アプリケーションが既に終了している間は、ステータスは起動後も「実行中」のままになります。

int戻り値0 でメイン関数を終了しようとしましたが、 "System.Environment.Exit(0);"アプリケーションの最後の行として 他のコードをすべて削除して、終了コードを残して、エラーが自分のコードに含まれていないことを確認しました。

「実行中のタスクが要求されたときに実行中のタスクが終了しない場合は、強制的に停止します」チェックボックスが有効になっています。

これはすべて問題を解決しませんでした。

私は、この問題を解決することができますどのように誰もが知っているWindowsサーバー2016

を実行していますか?

+0

これは、 'EXIT'を含む単純なバッチファイルに起こりますか?そうでなければ、そのバッチファイルでアプリケーションを起動し、その後に「EXIT」することができます。状態を確認する前に、リフレッシュボタンを数回押してください。自動的に更新されません。 – Skynet

+0

@MarkBeijens Main()メソッドを共有できますか? –

+5

F5キーを押すか、タスクスケジューラでリフレッシュしてビューを更新する必要があることに気が付きましたか? –

答えて

2

TechNetのthisディスカッションによると、がバッチファイルでexeをラップするのに役立ちます。

ただし、私の経験では、F5キーを押すなどして、タスクスケジューラビューをアクティブにリフレッシュする必要があります。この回避策は、同様の質問SuperUserの解決策です。

+0

母私は馬鹿だと感じる。答えをありがとう。 –

1

おそらくアプリケーションに問題があります。

  1. 完全に新しい空のコンソールアプリケーションを作成してください。
  2. タスクスケジューラで新しいタスクを作成します。トリガーやオプションなどは設定しないでください。コンソールアプリケーションを実行するアクションを追加するだけです。
  3. これをテストしてください。問題なく動作するはずです。
  4. 新しい機能を追加してテストします。
  5. 問題が発生すると、その原因を知ることができます。

私はWindows 10で1-3を実行しましたが、期待どおりに動作しています。

関連する問題