OFX2スキーマ上で実行したときにXsd.exeでは、重複する属性を生成し、
質問
のコマンドラインを使用します:
"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
私はその後、私が欲しかった便利なビットまでトリミングOFX2スキーマからコピーされた同様のXSDスキーマは、うまく構築するC#ファイルを生成し、まだ完全なスキーマのC#の表現として、すべて同じ属性を持っています。
任意のアイデアなぜですか? OFXスキーマが壊れていますか? Xsd.exeでは壊れてますか? C#が壊れていますか?私は壊れているか?
解決
[OK]を、この答えは長い時間が来て...
私はちょうど同じ問題に遭遇しました。問題は、しかしfoo.designer.csで、foo.csではありませんでした。あなたは番目のクラスで重複した属性を削除する必要があります。
C#が重複した属性が部分クラスをaccross、または.csファイルのファイル以外のすべての属性を省略するXSDを修正することができなければならないのいずれか。
他のヒント
私は、異なるスキーマと同じ問題(同じ「重複属性」の問題を)持っていました。その理由は、2つのXSDスキーマ(2つの生成されたファイル)によるものであったし、それらのそれぞれに私は要素の同じ「タイプ」を持っていたが、異なる定義を持ちます。別の名前にタイプのいずれかの名前を変更すると、
問題を解決しましたOFX仕様のダウンロードの最新バージョンは、.NETコード生成ツールに、より適していると「OFX2_Protocol.xsd」から変更されている「OFX3_Protocol_dotNET.xsd」を有します。私はまだXMLを直列化復元されていないが、私は何の問題もなく、このXSDからC#]を生成しています。
所属していません StackOverflow