web-dev-qa-db-ja.com

Visual Studio 2010:IDE内のクラスへのXML XSDスキーマ

XML XSDスキーマからクラスファイルを作成する必要があるたびに、VSで.NET xsd.exeツールとプリビルドイベントを使用して、ビルド時にクラスとスキーマが互いに同期していることを確認します。ただし、これはもちろん正常に機能します...

XSDと派生クラスが同じプロジェクトにある場合、VSはリレーションシップを理解し、CSをソリューションエクスプローラーでXSDファイルの子として視覚的に表示します。だから、Visual Studio 2010で、ビルド前のスクリプトに依存するのではなく、IDE内でクラス作成を実行する機能があるかどうか疑問に思っていましたか?

たとえば、プロジェクトにXSDを追加し、どこかにオプションを設定すると、VSが処理を引き継いでクラスを作成します。

VS 2010はこのようなものをサポートしていますか?または、不思議に思うのをやめて、xsd.exeとprebuildを使い続ける必要があります。

[〜#〜] edit [〜#〜]また、XSDファイルのプロパティの下に、Custom Tool、説明を読んで、これは私が目指しているものに近いように思えますが、このプロパティの正しい使用法がわかりません。

[〜#〜] edit [〜#〜]また、ソリューションがある場合は、VS2010に標準装備されている機能に基づいてこれを作成する必要があります。サードパーティのアドオンなどを使用したくない

30
MrEyes

Visual Studio 2010自体には、一般的な使用のためのそのような機能は含まれていません。

Visual Studioは、ADO.NETの型指定されたデータセットのコンテキストで、このXSDからコードへの変換を限定的にサポートしていますが、これらは汎用ソリューションではなく、まさにその1つの使用シナリオを対象としています。

しかし、チェックアウトを行うXSD2Code まさにそれを行うアドイン

enter image description here

13
marc_s

_C:\program files\Microsoft\SDKs\Windows\v7.0A\Bin\xsd.exe_にあるXSD.exeを使用できます。手順に従って、VSツールメニューのメニュー項目としてXSDを追加します。

  1. XSDファイルをVSプロジェクトに追加します
  2. Visual Studioの[ツール]メニューに移動します
  3. 外部ツールに移動
  4. 追加
  5. タイトルをXSDとして入力します
  6. システム内のxsdへのパスとしてコマンド(通常_C:\program files\Microsoft SDKs\Windows\v7.0A\Bin\xsd.exe_。)
  7. $(ItemPath) /c /l:csとしての引数
  8. $(ItemDir)としての初期ディレクトリ
  9. [OK]を押す[出力ウィンドウを使用]を確認します。

次に、ソリューションエクスプローラーでXsdファイルをクリックしてから、Xsdをクリックします。これにより、.XSDファイルと同じフォルダーにクラスが生成されます。手順1でファイルをまだ追加していない場合は、ソリューションエクスプローラーでプロジェクトを右クリックして、結果の.csファイルをプロジェクトに追加し、[追加]-> [既存のアイテム]を選択してから.CSファイルを追加する必要があります.XSDから生成されたものが存在する必要があり、含めることができます。

57
user2208720

以前はVisual Studioでそれを行う手段がありました。 xmlスキーマを右クリックすると、コンテキストメニューに「データセットの生成」などのような選択肢がありました。以前は頻繁に使用していましたが、うまく機能しました。何らかの不思議な理由で、Microsoftはその機能を削除しました-VS 2003の後でしょうか?なぜコマンドラインユーティリティを使用しても大丈夫なのか、メニューから同じコードを実行しても大丈夫なのかはわかりませんが、実際にはあります。

3
Bob Levittan