OFX2スキーマ上で実行したときにXsd.exeでは、重複する属性を生成し、

StackOverflow https://stackoverflow.com/questions/1306773

  •  19-09-2019
  •  | 
  •  

質問

のコマンドラインを使用します:

"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#]を生成しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top