题
使用命令行:
"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爱好。
不隶属于 StackOverflow