Pergunta

Usando a linha de comando:

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

O arquivo C # fonte resultante não consegue construir com esses erros:

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

Um esquema XSD semelhante, que eu copiei do esquema OFX2 então aparadas para baixo para os bits úteis que eu queria, gera um arquivo C # que constrói muito bem, ainda tem todos os mesmos atributos como C representação do esquema completo #.

Qualquer ideia porquê? É o esquema OFX quebrado? É xsd.exe quebrado? É C # quebrado? Am I quebrado?

Foi útil?

Solução

Ok, esta resposta é um tempo para chegar ...

Eu corri para o mesmo problema. O problema não estava em foo.cs, mas em foo.designer.cs. Você tem que remover os atributos duplicados na segunda classe.

C # deve ou permitir atributos duplicados em frente classes parciais, ou correção xsd para omitir atributos de todos, mas o ficheiro.cs.

Outras dicas

Eu tive o mesmo problema (o mesmo "atributos duplicados" problema) com diferentes esquemas. a razão deveu-se 2 esquemas XSD (2 arquivos gerados) e em cada um deles eu tinha o mesmo "tipo" de elemento, mas com definições diferentes. renomeação de um dos tipos em nome diferente resolveu o problema

A última versão do Download especificação OFX tem um 'OFX3_Protocol_dotNET.xsd' que tenha sido modificado a partir do 'OFX2_Protocol.xsd' para ser mais adequado para ferramentas de geração de código .NET. I geraram C # a partir desta XSD sem problemas embora eu não tenha deserialised qualquer XML ainda.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top