Domanda

Uso della riga di comando:

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

Il file sorgente C # risultante non riesce a costruire con questi errori:

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

Uno schema XSD simile, che ho copiato dallo schema OFX2 poi tagliato verso il basso per i bit utili che volevo, genera un file C # che costruisce bene, ma ha tutti gli stessi attributi C # rappresentanza piena di schema.

Qualsiasi idea del perché? È lo schema OFX rotto? È xsd.exe rotto? È C # rotto? Sto rotto?

È stato utile?

Soluzione

Ok, questa risposta è un lungo tempo a venire ...

Ho appena incontrato lo stesso problema. Il problema non era in foo.cs, ma in foo.designer.cs. È necessario rimuovere gli attributi duplicati nella seconda classe.

C # dovrebbe o consentire attributi duplicati accross classi parziali, o fissare xsd omettere attributi in tutti, ma il file .cs.

Altri suggerimenti

ho avuto lo stesso problema (lo stesso "attributi duplicati" problema) con differenti schemi. il motivo era dovuto a 2 schemi XSD (2 file generato) e in ciascuna di esse i avuto lo stesso "tipo" di elemento, ma con definizioni diverse. rinomina di uno dei tipi in nome diverso risolto il problema

L'ultima versione della specifica OFX download ha un 'OFX3_Protocol_dotNET.xsd' che è stato modificato dal 'OFX2_Protocol.xsd' per essere più adatto a strumenti di generazione di codice .NET. Ho generato C # da questo XSD senza problemi, anche se non ho ancora deserialised qualsiasi XML.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top