使用命令行:

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

将所得的C#源文件构建失败,这些错误:

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

一个类似的XSD架构,这是我从OFX2架构然后修切至我想要的有用比特复制,生成构建就好C#文件,但是具有所有相同的属性的完整模式的C#表示。

任何想法,为什么?是OFX架构坏了吗?是XSD.EXE坏了?是C#坏了吗?我在破?

有帮助吗?

解决方案

确定,这答案是一个漫长的时间来...

我只是碰到了同样的问题。这个问题是不是在foo.cs,但在foo.designer.cs。你必须在第二类中删除重复的属性。

C#要么允许重复的属性进行的跨部分类,或修复XSD省略中的所有属性,但cs文件。

其他提示

我曾与不同架构同样的问题(在相同“重复属性”的问题)。其原因是由于2种XSD模式(2生成的文件)并在它们中的每我有元件的相同“类型”,但是具有不同的定义。种类为不同的名称中的一个重命名的解决了这个问题

的OFX规范下载最新版本的具有“OFX3_Protocol_dotNET.xsd”已经从“OFX2_Protocol.xsd”修改为更适合于.NET代码生成工具。我已生成的C#从这个XSD没有任何问题虽然我没有任何deserialised XML爱好。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top