を使用してMonoMacアプリケーションをシャットダウンしようとしていEnvironment.Exit(0)
ます。ただし、何らかの理由でこの呼び出しは返されません。例外もスローしません。MonoDevelopのイミディエイトウィンドウで関数を実行すると、タイムアウトになります。
これをデバッグする方法がわかりません。私はEnvironment.Exitがプロセスを殺すと思いました...
代わりにNSApplication.Terminateメソッドを使用してください。
このメソッドは、終了を確認するためにアプリケーション デリゲート (定義されている場合) を呼び出す場合があることに注意してください ( NSApplicationDelegate.ApplicationShouldTerminateを参照してください)。
AppDelegate.cs に 2 つのオーバーライド関数を追加できます。
public override NSApplicationTerminateReply ApplitionShouldTerminate(NSApplication sender)
{
mainWindowController.Window.Close();
return NSApplicationTerminateReply.Now;
}
public override bool ApplicationShouldTerminateAfterLastWindowClosed(NSApplication sender)
{
return true;
}