Windows フォームアプリケーションで XAML Islands の MapControl を使用している場合に、
System.Runtime.InteropServices.InvalidComObjectException
基になる RCW から分割された COM オブジェクトを使うことはできません。
という例外が発生することがありました。発生のタイミングはフォームのクローズ時。
■ 対策?
深い事はまだ調べていませんが、フォームのクローズのタイミングで MapControl をフォームから Remove すると静かにフォームが閉じるようになりました。
using System; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void Form2_FormClosing(object sender, FormClosingEventArgs e) { this.Controls.Remove(mapControl1); mapControl1 = null; } } }