リモートクライアントからアプリケーションに値を送信するためのXMLインターフェイスを定義するためのスキーマを持つXSDファイルがあります。現在、XSDには3つの要素があると簡単に言えます。XSD下位互換性
これをC#でシリアライズしてデシリアライズするには、ツールxsd.exeを使用してC#クラスを生成し、これらのクラスを使用してXSDに対してXMLをシリアライズおよびデシリアライズすることができます。
これはうまくいきますが、XSDの新しいバージョンを作成し、新しいリモートクライアント用にこの要素が指定されていればサーバー側機能を有効にするための新しい4番目の要素を作成しますが、古いXSD(古いリモートクライアントのソフトウェアを変更したくない、または変更することはできません)が、新しいXSDから生成された新しいクラスは古いXSDの古いXMLと互換性がありません。
私はXDocumentなどで直接XMLを読むことができると思いますが、XSDのいずれかに対して検証できるXMLを受け入れるという機能が必要です(そして、XSDのバージョンそれに対して反対にする)。これは顧客関係の問題によるものです。
この問題に対処するベストプラクティスは何ですか?