0

xsdを使用してxmlファイルのc#コードを生成すると、次のエラーが発生します。

タイプまたは名前空間の名前'SerializableAttribute'が名前空間'System'に存在しません(アセンブリ参照がありませんか?)

タイプまたは名前空間の名前'DesignerCategoryAttribute'が名前空間'System.ComponentModel'に存在しません(アセンブリ参照がありませんか?)

エラーを発生させる生成されたコード:

[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]

答えを探してみました。私が見つけた唯一のものはこれです: http ://support.microsoft.com/kb/916649

しかし、それは私にはうまくいきません。ソリューションエクスプローラーにはシステムフォルダーがありません。Visual Studio 2012を使用していて、ac#/ xamlメトロアプリを開発しています!

4

1 に答える 1

0

xsdはまだメトロアプリケーションでサポートされていないようです。次のリンクはそれを説明しています!

http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/88d9b73b-5faa-4204-9d06-dc121e709943/

大きな深いxml構造がある場合は、最後の回答のPerlスクリプトを使用して、[System.SerializableAttribute()]および[System.ComponentModel.DesignerCategoryAttribute( "code")]アノテーションを削除できます。私はそうしなかったので、手動でそれらを削除しました!

ただし、これらの注釈を削除すると、悪い副作用が発生するかどうかはわかりません。私が直面した場合、私はこの答えを更新します!

ありがとう

于 2012-12-05T06:20:19.097 に答える