-1

以下のコードを使用して、WPF アプリケーションの実行可能ファイルを起動しようとしています。

            Task.Factory.StartNew(() =>
            {
                CloseOpen();
            });

void CloseOpen()
{
      string srLocationss = @"" + srLocation + @"\Mycoded.exe";
      Process.Start(srLocationss);
}

実行可能ファイルが起動し、すぐに失敗します。ただし、ダブルクリックすると機能します。私は本当に混乱しています。

ここにエラーがあります

ここに画像の説明を入力

4

1 に答える 1

1

スクリーンショットは、実際にプログラムを正常に起動したことを明確に示しています。しかし、すぐにクラッシュし、Windows エラー報告ダイアログが表示されました。プロセスがまだ終了していないため、ExitCode はまだありません。ダイアログを閉じるまで、それは起こりません。

明らかに、「プログラムをデバッグする」オプションは魅力的なものです。

起動時にプロセスがクラッシュする多くの理由。最も一般的なのは、ProcessStartInfo.WorkingDirectory プロパティを設定しないことです。適切に作成されていないプログラムは、多くの場合、デフォルトの作業ディレクトリが EXE のパスに設定されていると想定しています。そして、完全パスではなく相対パス名でファイルをロードしてみてください (「c:\foo\bar\mumble.txt」ではなく「mumble.txt」など)。作業ディレクトリが設定されていない場合、それはカブームです。現在のコードにはありません。

このプログラムが独自のものである場合は、AppDomain.CurrentDomain.UnhandledException のイベント ハンドラーを記述して改善してください。e.ExceptionObject.ToString() の値を表示またはログに記録します。これで、クラッシュした理由がわかりました。

于 2013-02-28T00:14:50.403 に答える