1

.xsd ファイルを作成し、XSD.exe を使用して .cs ファイルを生成しました (xsd.exe /dataset mySchema.xsd を使用しました)。すべてうまくいっていますが、突然、新しいフィールドを xsd に追加する必要があります。

プロジェクトから .xsd ファイルを削除し、XSD.exe を使用して新しい .cs ファイルを生成してから再度追加する必要がありますか、それとも VS2010 が xsd に変更を加えたときに .cs を自動的に更新する方法がありますか?スキーマエクスプローラー?

ありがとう!

4

2 に答える 2

3

vs2010 プロジェクトでの簡単な解決策は、mySchema.xsd ファイルをデータセットとしてプロジェクトに含めることです。コードまたは xsd エディターを使用して xsd を変更すると、データセットが正しく設定されていれば、vs2010 は cs データセットを再生成します。

これを試す最も簡単な方法は、ウィザードを使用して新しいデータセットを追加することです。

(vs 2010でこれを試したことはありませんが、vs2002、vs2003、vs2005、およびvs2008で完全に機能したことに注意してください)

[更新] xsd-file-property customtool = 'MSDataSetGenerator' が設定されている場合、vs2010 で動作します

于 2012-06-14T11:37:49.303 に答える
0

次のような行でビルド前イベントを追加しました。

"$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1\@InstallationFolder)bin\NETFX 4.0 Tools\xsd.exe" "$(ProjectDir)MyFile.xsd"

これにより、プロジェクトがビルドされるたびに (前に) .cs ファイルが生成されます。面倒ですが、うまくいきます。私がこれについて正しければ、プロジェクトに変更が加えられなければ、プロジェクトは再構築されません。

多くのxsdを処理する必要があり、xsd.exeを使用するとこれが可能になるため、Xsd2Codeは私にとってオプションではありませんでした。ただし、最終的に 1 つの巨大な .cs ファイルが作成されるため、一般的なタイプを抽出して、それらが 2 回作成されないようにする必要がある場合があります。

そうしないと、「Signature」、「Signature1」、「Signature2」など、わずかに異なる名前で同じタイプが作成されます...

于 2012-06-14T11:58:12.697 に答える