Comment créer un schéma XSD à partir d’une classe?

J’ai du mal avec les fichiers XSD.

J’essaie de créer un fichier XSD à partir d’une classe:

public enum Levels { Easy, Medium, Hard } public sealed class Configuration { public ssortingng Name { get;set; } public Levels Level { get; set; } public ConfigurationSpec { get;set;} } public abstract class ConfigurationSpec { } public class ConfigurationSpec1 { // ... } public class ConfigurationSpec2 { // ... } 

Veuillez noter que j’ai une classe abstraite dans Configuration. Avec cette fonctionnalité, est-il possible de créer le XSD et si possible comment?

L’idée est de transmettre la classe Configuration au XSD.

Vous pouvez utiliser XSD.exe (disponible à partir de votre installation de Visual Studio).

 public sealed class Configuration { public ssortingng Name { get; set; } public Levels Level { get; set; } public ConfigurationSpec Spec { get; set; } } public abstract class ConfigurationSpec { } public class ConfigurationSpec1 { } public class ConfigurationSpec2 { } 

résulte en

                          

Tout ce que vous avez à faire est de comstackr votre assembly et d’exécuter XSD.exe avec le chemin d’access à votre assembly en tant qu’argument. XSD.exe /? a également une liste de tous les arguments.

Exemple: XSD.exe C:\Dev\Project1\Bin\Debug\library.dll

Vous pouvez intégrer avec succès xsd.exe dans l’IDE de Visual Studio comme ceci:

Allez dans Tools, External Tools et cliquez sur le bouton Ajouter :

2010

entrer la description de l'image ici

2015/2017

entrer la description de l'image ici

Titre:

Créer un schéma à partir de la classe

Commande (par framework):

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

Arguments:

$(BinDir)$(TargetName).dll /outputdir:$(ItemDir) /type:$(ItemFileName)

Utiliser la fenêtre de sortie:

Empêche l’affichage d’une fenêtre de commande supplémentaire et conserve un enregistrement de la sortie jusqu’à ce que vous la supprimiez. Probablement une bonne idée.

Demander des arguments:

Vérifiez si vous souhaitez tester la sortie ou résoudre les problèmes; sinon, ne cochez pas.

Cliquez sur OK

Comment utiliser:

  1. Comstackz votre projet! XSD.exe ne regarde que le code compilé.
  2. Cliquez sur la classe dans l’ Explorateur de solutions .
  3. Cliquez sur Tools, Create Schema From Class
  4. Cliquez sur le bouton Afficher tous les fichiers dans l’ explorateur de solutions .
  5. Regardez dans le même dossier que votre classe et vous verrez Schema0.xsd .
  6. Cliquez avec le bouton droit sur Schema0.xsd et choisissez Include In Project
  7. Renommez Schema0.xsd en .xsd
  8. (facultatif) Vous devrez peut-être modifier ce nouveau xsd à la main si vous souhaitez éditer des fichiers xml dans l’éditeur xml en utilisant ce schéma et que vous n’utilisez pas tous les atsortingbuts. Vous pouvez remplacer use="required" par use="optional" pour vous débarrasser des lignes bleues dans l’éditeur xml (qui créent des avertissements), si ces atsortingbuts ne sont pas requirejs.