يقوم XSD.EXE بإنشاء سمات مكررة عند تشغيل مخطط OFX2

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

ثم قطع مخطط XSD مشابه، الذي قمت بنسخته من مخطط OFX2 إلى البتات المفيدة التي أردتها، وإنشاء ملف C # الذي يبني على ما يرام، ومع ذلك لديه كل السمات نفسها مثل تمثيل C # الكامل للمخطط.

أي فكرة لماذا؟ هو مخطط ofx مكسورة؟ هل كسر xsd.exe؟ هل ج # مكسور؟ هل أنا مكسور؟

هل كانت مفيدة؟

المحلول

حسنا، هذه الإجابة هي فترة طويلة قادمة ...

لقد ركضت للتو في نفس المشكلة. المشكلة لم تكن في foo.cs، ولكن في foo.designer.cs. يجب عليك إزالة السمات المكررة في الفصل الثاني.

يجب أن تسمح C # إما بالسمات المكررة فصول جزئية، أو إصلاح XSD لحذف السمات في جميع ملفات .cs.

نصائح أخرى

كان لدي نفس المشكلة (نفس المشكلة "المكررة" مشكلة) مع مخططات مختلفة. السبب كان بسبب مخططين XSD (ملفان تم إنشاؤه) وفي كل واحد منهم كان لدي نفس "النوع" للعنصر، ولكن مع تعريفات مختلفة. إعادة تسمية أحد الأنواع في اسم مختلف حل المشكلة

يحتوي أحدث إصدار من OFX Postification Download على "ofx3_protocol_dotnet.xsd" الذي تم تعديله من "ofx2_protocol.xsd" لتكون أكثر ملاءمة لأدوات إنشاء Code .NET. لقد قمت بإنشاء C # من هذا XSD دون أي مشاكل على الرغم من أنني لم أقدم أي XML بعد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top