visual tool studio net convertir code clase .net xsd xsd2code xsdobjectgen

.net - tool - XSDObjectGen.exe frente a XSD.exe



xsd out (4)

Parece que puedes usarlo con VS2005 al menos (de acuerdo con este artículo, de todos modos )

Simplemente agréguelo a su colección de herramientas externas de VS2005 en "Herramientas >> Herramientas externas ...".

Establezca sus parámetros como los siguientes

  • Para VB: $ (ItemPath) / l: vb /f:$(ItemFileName).vb / c / d / t
  • Para C #: $ (ItemPath) / l: cs /f:$(ItemFileName).vb / c / d / t

Parece que XSD y XSDObjectGen producirán diferentes clases. De hecho, los comentarios en este artículo de Rick Strahl dicen " producen clases muy diferentes " en el artículo aquí .

¿Alguien puede decirme cuál es la diferencia entre XSDObjectGen.exe y XSD.exe?

¿Hay alguna forma de hacer que XSDObjectGen.exe funcione en dot net 2.0?


Como alternativa, hay Xsd2Code . Algunas caracteristicas:

  • Generar clase parcial.
  • Admite colecciones genéricas y personalizadas (List, ObservableCollection, MyCustomCollection).
  • Admite propiedades automáticas cuando no se requiere un conjunto especial.
  • Puede generar atributos WCF (DataContract / DataMember).
  • Soporte de tipo anulable.
  • Enmascare el campo privado en IDE (use el atributo EditorBrowsableState.Never).
  • Genera asignación de objetos en constructor.
  • Implemente INotifyPropertyChanged para habilitar DataBinding para wpf o Silverlight.
  • Mejora la productividad con el complemento visual studio.
  • Genere documentación resumida a partir de la anotación xsd.
  • Compruebe si los valores nuevos y anteriores int setter son los mismos antes de plantear el evento cambiado propiedad.
  • generación de opciones de copia de seguridad en el encabezado cs o vb.
  • Guarde y cargue el documento Xml en el almacenamiento de archivos aislado para la aplicación Silverlight (nuevo en 3.0).
  • Generar código CS, VB o CPP.
  • Serializar / deserializar el objeto.
  • Guardar en archivo y cargar desde el archivo.
  • Incluye Xsd2CodeCustomTool.

La diferencia es:

Para darle una idea, aquí hay una lista de características resumidas para XSDObjectGen.exe :

  • Soporte para los constructos de esquema XML más populares
  • Comportamiento del enumerador y de la colección para elementos repetitivos
  • El modelo de programación que coincide con el esquema
  • Construcción automática de subclase
  • Nombre de prevención de colisión
  • Integración de Visual Studio IDE
  • Lógica de manejo especial para tipos DateTime
  • Soporte de esquema multiparte
  • Serialización del espacio de nombres XML
  • Soporte opcional y secuencia
  • Elección de soporte
  • Grupo de sustitución
  • Método MakeSchemaCompliant
  • Manejo de tipo de referencia no opcional
  • Cumplimiento del perfil básico de WS-I.org
  • Soporte de lenguaje multi-programación
  • Eventos transversales en profundidad

Para obtener más detalles sobre estas funciones, consulte el archivo de documentación XSDObjectGen.doc (disponible en C:/Program Files/XSDObjectGenerator después de instalar la herramienta).


En un nivel puramente técnico:

XSD.exe utiliza Arrays
XSDObjectGen da un pequeño paso adelante y usa ArrayLists .
XSD2Code salta adelante con el uso de Generics .

Si usa .NET 2.0 y superior, es preferible utilizar XSD2Code.