Blend 4を使用してwpfアプリケーションに取り組んでいます。特定の条件下では、アプリを再起動する必要があります。
現在、次のコードを使用しています。
System.Diagnostics.Process.Start(Application.ResourceAssembly.Location);
System.Threading.Thread.Sleep(1000);
Application.Current.Shutdown();
動作します。
私の問題は、新しいインスタンスがロードされる前に現在のインスタンスが閉じて、プログラムがクラッシュしたように見えることです。thread.sleep を使用してシャットダウンを停止しましたが、タイミングが異なります。
現在のプロセスをシャットダウンする前に、新しいプロセスが開始するのを待つ方法はありますか?
次の行に沿ったもの:
System.Diagnostics.Process.Start(Application.ResourceAssembly.Location);
if (newProcess.IsLoaded == true)
{
Application.Current.Shutdown();
}
編集:
これは、設定が変更されたときのコンテキストです。変更を適用するには、アプリケーションを再起動する必要があります。スプラッシュ スクリーンを使用して (新しい設定の適用はお待ちください)、新しいプロセスが読み込まれるまで表示されます。