私は、MicrosoftのコントロールReportViewer
でカスタムコントロールを持っています。フォームがこのカスタムコントロールでアクティブなときに右上の赤い十字をクリックしてアプリケーションを終了すると、System.CannotUnloadAppDomainException
が表示されます。System.CannotUnloadAppDomainExceptionを処理する方法は?
これは、MS ReportViewerコントロールの既知のバグです。この例外が表示されないようにするには、ReleaseSandboxAppDomain
メソッドを呼び出す必要があります。私はこれを試みましたが、それを働かせることはできません。カスタムコントロールのParentForm_Closing
イベントでこのメソッドを呼び出します。右上の赤い十字をクリックしてアプリケーションを閉じると、このイベントは発生しません。
私の質問は、この例外が表示されないようにするにはどうすればいいですか?
this.ParentForm.FormClosing += delegate
{
reportViewer.LocalReport.ReleaseSandboxAppDomain();
};
関連コード(「ReleaseSandboxAppDomain」などと呼ばれるコード)を表示してください。 – ken2k
@ ken2k私の質問が更新されました – Martijn
投稿したコードはうまく動作します。イベントが発生しない場合は、コード内に他のイベントが発生しないようにします。あなたのフォームのClosingイベントハンドラが特別なものはありますか? – ken2k