2016-11-07 9 views
0

Visual Studio 2013にコンソールアプリケーションプログラムがあります。 .NET 4.5 特定のタスクを実行した後にプログラムを終了します。したがって、私は使用します System.Environment.Exit(0); しかし、終了しません。コンソールにのみ表示されます。 キーを押して続行します。System.Environment.Exit(0)はプログラムを終了しません。

私はどのようにしてプログラムを終了できますか? ありがとうございました。

ここでは、ディレクトリが空であるかどうかを確認してからプログラムを終了し、System.Environment.Exit(0)を入力しようとしました。主な機能では何もしなかった。

if (Directory.GetFiles(@"Q:\").Length == 0) 
    { 
     System.Environment.Exit(0); 
    } 
+1

コードを投稿できますか? –

+0

私は質問 – Mike

+1

を更新しました。もしあなたが 'Main'メソッドにいれば' return'だけです。 –

答えて

2
Press any key to continue 

を試してみてください。私のマシンでは、デバッガをコンソールアプリケーションに接続せずにコンソールアプリケーションを実行すると、このメッセージが表示されます。 Ctrl + F5で開始してください。キーを押すと、Visual Studioによって生成されたコンソールウィンドウが閉じます。これは予想される動作です。

デバッガを接続してプログラムを実行してみてください。 F5を押してください。または、IDEから起動する代わりにコマンドプロンプトからプログラムを起動します。メッセージは次に表示されるべきではありません。

また、マルチスレッドプログラムがあり、バックグラウンド以外のスレッドが実行されている場合、メインスレッドが終了してもプロセスをアライブ状態に保つことができます。

0

コンソールアプリケーションを終了するための最も優雅な方法はMainメソッドから返すことです。

単に次のようにmainメソッドを宣言します。

public static int Main(string[] args) 

を、あなたが与えられたリターンコードでアプリケーションを終了する

return x; 

を使用することができます。

+0

Application.Exitは私にこれらの2つのエラーを与えます'System.Windows.Forms.Application'と 'System.Windows.Application'の間 – Mike

+0

@私は 'Application.Exit'について話しませんでした - あなたは正しい場所でコメントしましたか? –

+0

return x;アプリケーションを終了しません。 – Mike

0

は、プロセスが終了した後、プリントアウトします上記既に述べ、これは何をお使いのIDE(おそらくVisual Studioの)のようにたくさんの音コメントと同様Application.Current.Shutdown()

+0

エラー「System.Windows.Forms.Applicationは」「アプリケーション」\t エラー「現在は、」システム」とのあいまいな参照であるの定義が含まれていません。 Windows.Forms.Application 'と' System.Windows.Application ' – Mike

+0

コンソールアプリケーションでWindowsフォームとWPFアセンブリの両方が参照されているのはなぜですか? –

関連する問題