Pregunta

El uso de la línea de comandos:

"xsd.exe" "OFX 2.1.1 schema/OFX2_Protocol.xsd" /c /namespace:OFX /nologo"

El archivo fuente C # resultante no puede construir con estos errores:

D:\blah\OFX2_Protocol.cs(19,6): error CS0579: Duplicate 'System.CodeDom.Compiler.GeneratedCodeAttribute' attribute
D:\blah\OFX2_Protocol.cs(20,6): error CS0579: Duplicate 'System.SerializableAttribute' attribute
D:\blah\OFX2_Protocol.cs(21,6): error CS0579: Duplicate 'System.Diagnostics.DebuggerStepThroughAttribute' attribute
D:\blah\OFX2_Protocol.cs(22,6): error CS0579: Duplicate 'System.ComponentModel.DesignerCategoryAttribute' attribute
D:\blah\OFX2_Protocol.cs(23,6): error CS0579: Duplicate 'System.Xml.Serialization.XmlTypeAttribute' attribute
D:\blah\OFX2_Protocol.cs(24,6): error CS0579: Duplicate 'System.Xml.Serialization.XmlRootAttribute' attribute

Un esquema XSD similar, que he copiado a partir del esquema OFX2 luego recortada a los bits útiles que quería, genera un archivo de C # que construye muy bien, sin embargo, tiene todos los mismos atributos que C # representación del esquema completo.

Cualquier idea de por qué? Se rompe el esquema OFX? Es xsd.exe roto? C # se rompe? ¿Estoy roto?

¿Fue útil?

Solución

Ok, esta respuesta es mucho tiempo en llegar ...

Me acabo de encontrar con el mismo problema. El problema no estaba en foo.cs, pero en foo.designer.cs. Usted tiene que quitar los atributos duplicados en la segunda clase.

C # o bien debe permitir atributos duplicados al otro lado de las clases parciales, o fijar xsd omitir atributos en todos menos en el archivo .cs.

Otros consejos

que tenía el mismo problema (la misma "atributos duplicados" problema) con diferentes esquemas. la razón se debió a 2 esquemas XSD (2 archivos generados) y en cada uno de ellos he tenido el mismo "tipo" de elemento, pero con diferentes definiciones. cambiar el nombre de uno de los tipos en diferentes nombre resuelto el problema

La última versión de la especificación OFX descargas tiene una 'OFX3_Protocol_dotNET.xsd' que ha sido modificado desde la 'OFX2_Protocol.xsd' a ser más adecuado para herramientas de generación de código .NET. He generado C # de este xsd sin ningún problema aunque no he deserialised cualquier XML todavía.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top