0

アプリケーションに関連付けられたカスタム ファイル タイプがあり、クラス インスタンスを単純にファイルにシリアル化して保存します。

クラスにさらにプロパティを追加し、場合によってはプロパティを削除して、アプリケーションをアップグレードできるようにしたいと考えています。アプリケーションの古いバージョンを新しいファイルで動作させるにはどうすればよいでしょうか? それが取得できるものは何でも、さらに重要なことに、新しいバージョンのアプリケーションで古いファイルを使用するにはどうすればよいでしょうか? この目標を達成するための一般的な方法はありますか?

最初のバージョンが公開される前に質問しています - ファイルの種類を簡単にアップグレードできるようにするにはどうすればよいですか?

(グーグルは多くの「ノイズ」に遭遇しました。)

4

3 に答える 3

1

2つの方法があると思います

  • ヨギが述べたように、バージョントレラントシリアライゼーションのようなものを使用できます
  • または、新しい形式に変換することもできます。Visual Studio、Royal TS、およびその他の多くが次のことを行っていると思います。
于 2012-08-09T11:39:52.343 に答える
0

最初のバージョンが公開される前にあなたが尋ねているように、私はあなたにこれを言うのに間に合います:あなたは長期的にはBinaryFormatterに満足しないでしょう。ストレージオブジェクトモデルを「運用オブジェクト」から分離する必要があると思います。

プログラムのランタイム状態をシリアル化するだけで簡単にシリアル化できますが、これらのオブジェクトに大きな変更を加えることはできませ

バージョン管理のパスが非常に明確なので、proto-bufは素晴らしいと思います。また、XmlSerializerのシリアル化されたクラスは、読み取り可能であるため便利です。

于 2012-08-06T14:57:43.363 に答える
0

おそらく、Protocol Buffers の C# 実装を確認する必要があります。これは、Google (http://code.google.com/p/protobuf-net/) によって開発されたシリアル化の一種であり、適切な識別に ID を使用します。したがって、シリアル化されたデータはプロパティ名などによってバインドされません。

于 2012-08-06T13:56:43.500 に答える