最近、コードの一部を別のプロジェクト ライブラリに移動しました。
残念ながら、これらのデータはデータベースにシリアル化されているBinaryFormatter
ようです (理由は聞かないでください。私にはわかりません。この考えは嫌いです)。
今、私はデータベースを更新する更新ツールを作成する責任があります (ツールは、バージョンに基づいて更新が必要なデータベースを検出すると、ソフトウェアによって自動的に起動されます):
- 新しい列を作成する
- バイナリ列を逆シリアル化します
- 逆シリアル化された列を新しい列に書き込みます
- 古いバイナリ列を削除します
私の問題は、逆シリアル化しようとすると、次のように表示されることです。
Unable to find assembly 'MyOldAssemblyName, Version=2.0.0.0, Culture=neutral, PublicKeyToken=a5b9cb7043cc16da'.
しかし、このアセンブリはもう存在しません。このクラスを「アップデーター」プロジェクトに入れることに問題はありませんが、このファイルを含むためだけにこの古いプロジェクトを保持する方法はありません。
指定されたクラスで受信したストリームを逆シリアル化する必要があることを BinaryFormatter に指定する方法はありますか?
または、アセンブリの名前が変更されたと言うか、または???