BinaryFormatter#Deserialize(2)

IPCを行う2つのアプリケーションが、互いに異なるAppDomainからロードされたアセンブリだった場合には問題が発生することが解った。

一方のAppDomainのWindowからSendMessageされたWM_COPYDATAメッセージ経由でシリアライズされたオブジェクトのストリームを、もう一方のAppDomain、つまり受け側で標題のクラスとメソッドを使用して、オブジェクトに組み立てようとすると、System.Runtime.Serialization.SerializationExceptionが発生し、以下のスタックトレースを吐いて止まった。

原因が判明した。BinaryFormatterで使用している、デフォルトバインダの型の制御方法に問題があるようだ。詳細は起きてからにしよう。もう限界。平日は4:00起床、22:00就寝を続けているので、この時間まで起きていること自体奇跡に近い。眠過ぎて吐きそうだ。