v4.5.1に.NETコンソールアプリケーション(C#で)を作成しました。私Main
方法は次のようになります(ProcessCommand
によって処理)可能なコマンドの.NETコンソールアプリケーションでCancelKeyPressイベントを使用する
public static void Main(string[] args)
{
Console.CancelKeyPress += delegate
{
CancelToken.Cancel();
};
var kbTask = Task.Run(async() =>
{
while (true)
{
await ProcessCommand(Console.ReadLine());
}
}, CancelToken.Token);
kbTask.Wait(CancelToken.Token);
}
一つ私がConsole.CancelKeyPress
デリゲート経由でCTRL + Cを使用してキャンセルできるようにしたいのですが、長時間実行プロセスを起動します。
これを行うと、「mscorlib.dllがロードされていない」というタブが開き、何も行われません。コンソールは開いたまま応答しません。
私はまた、デバッグの外でアプリを実行しようとしましたが、実行可能ファイルが見つかりません。
キャンセルトークンの状態が設定されていると、中断後に 'while'ループ内でキャンセルトークンの状態をチェックする必要があります。 – Sean
クリスタルボールはあなたがAvastを使用していると言います。できるだけ早くアンインストールしてください。 –
@HansPassantあなたのクリスタルボールが間違っています。 Windows Defender以外のAVはインストールされていません。 – awj