|
分類:[.NET 全般]
はじめまして。 枕元切爪と申します。
「異なるアセンブリに入っているクラスのデシリアライズについて」ご質問させてください。
抽象クラスであるAbstractClassと、これから派生した任意のクラス群があります。 ただし、派生クラスはプラグインのような利用方法をとるので、親クラスとは別個のアセンブリに納められており、 dllとして特定のフォルダにすべて詰め込まれています。
ここで、シリアライズしたxmlファイルをもとにデシリアライズを行おうとすると、 「SerializationException ・・・・・・・ *******に関連付けられているアセンブリはありません。」 という例外が発生します。*******は派生クラス名称です。 派生クラスが抽象クラスと同一のアセンブリに入っているとエラーは生じません。 具体的には以下のようなコードを利用しています。
FileStream stream = File.OpenRead(@".\MyClass-Soap.xml"); 抽象クラス名称 aClass = (抽象クラス名称)soapFormatter.Deserialize(stream);
このあたりのプログラムはほとんど書いたことが無く、見当はずれなことをしているかもしれませんが、 何か解決策についてご助言いただければ幸いです。
どうぞよろしくお願いいたします。
|