2012-02-16 8 views
1

XMLをシリアライズ/デシリアライズするために、スキーマ(xsdファイル)のXSD.exeで生成されたクラスを使用しています。最近、私はスキーマが変更されたのでいくつかの問題がありましたが、私はクラスを再生成しませんでした。スキーマをチェックする方法は、XSD.exeで生成されたクラスと同期していますか?

スキーマとクラスが同期していることを確認する最良の方法は何ですか?実行時とコンパイル時にこれをどのように確認できますか?

答えて

3

プロジェクトプロパティのビルドイベントのプリビルドイベントコマンドラインでxsdファイルに従ってクラスを生成します。このようにして、クラスは常にスキーマと同期します。ここで

は、いくつかの有用なリンクです:
Pre-build Event/Post-build Event Command Line Dialog Box
How to: Specify Build Events (C#, J#)

+0

はい、これはコンパイル時のチェックのために行います。しかし、実際にファイルを置き換えるのではなく、csファイルがXSDと同期していないというビルドエラーが発生した場合には、さらに便利です。また、アプリケーションが実行されるときにサーバからXSDがダウンロードされます。 – Jimmy

+0

私はxmlファイルをシリアライズし、xsdファイルでそれを検証するための小さなツールを書くより良い方法を見つけることができません。ビルド前/ビルド後のイベントではまだ実行されます。なぜ単にクラスを直接生成しないでください。 – findcaiyzh

+0

@ findcaiyzh-はい、私はあなたが正しいと思います。私はクラスを生成し、チェックします。私は(愚かに)ランタイムチェックを考えていました。 – Jimmy

関連する問題