XSD ファイルで苦労しています。
クラスから XSD ファイルを作成しようとしています:
public enum Levels { Easy, Medium, Hard }
public sealed class Configuration
{
public string Name { get;set; }
public Levels Level { get; set; }
public ConfigurationSpec { get;set;}
}
public abstract class ConfigurationSpec { }
public class ConfigurationSpec1
{
// ...
}
public class ConfigurationSpec2
{
// ...
}
構成内に抽象クラスがあることに注意してください。その機能を使用して XSD を作成することは可能ですか? また、可能な場合はどのようにすればよいですか?
アイデアは、クラス Configuration を XSD に渡すことです。
ベストアンサー1
xsd.exe
次のようにして Visual Studio IDE に正常に統合できます。
Tools, External Tools
ボタンをクリックしてくださいAdd:
2010
2015 / 2017
タイトル:
クラスからスキーマを作成する
コマンド(フレームワークごと):
4.0
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\x64\xsd.exe
4.5.1
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\xsd.exe
4.6.*
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.* Tools\x64\xsd.exe
引数:
$(BinDir)$(TargetName).dll /outputdir:$(ItemDir) /type:$(ItemFileName)
出力ウィンドウを使用する:
余分なコマンド ウィンドウがポップアップするのを防ぎ、クリアするまで出力の記録を保持します。おそらく良いアイデアでしょう。
引数のプロンプト:
出力をテストしたりトラブルシューティングしたりする場合にはチェックを入れます。それ以外の場合はチェックを入れないでください。
クリックOK
使い方:
- プロジェクトをコンパイルしてください。
XSD.exe
コンパイルされたコードのみを参照します。 - クラスをクリックしてくださいソリューションエクスプローラー。
- クリック
Tools, Create Schema From Class
- Show All Filesボタンをクリックしてソリューションエクスプローラー。
- クラスと同じフォルダーを見ると、 が表示されます
Schema0.xsd
。 - 右クリックし
Schema0.xsd
て選択Include In Project
- 名前
Schema0.xsd
を変更<the name of the class>.xsd
xsd
(オプション)このスキーマを使用して XML エディターで XML ファイルを編集し、すべての属性を使用しない場合は、この新しい部分を手動で編集する必要があります。これらの属性が実際に必要ない場合は、use="required"
を に置き換えてuse="optional"
、XML エディターの青い波線 (警告を表示) を取り除くことができます。