2017-05-04 11 views
3

net 코어의 xsd에서 클래스를 생성해야합니다. dotnet 표준에서 커맨드 라인을 사용했습니다. xsd filename.xsd /c. 하지만이 클래스를 net core에 만드는 방법은 무엇입니까? 누구든지이 작업을 수행하는 방법을 알고 있습니까?net 코어의 xsd 파일에서 클래스 생성

xsd.exe로 생성 된 클래스를 추가 할 때 몇 가지 오류가 발생합니다.

예 자동 생성 파일의 클래스

Error CS0234 The type or namespace name 'SerializableAttributeAttribute' does not exist in the namespace 'System' (are you missing an assembly reference?) 


Error CS0234 The type or namespace name 'DesignerCategoryAttribute' does not exist in the namespace 'System.ComponentModel' (are you missing an assembly reference?) 

Error CS0234 The type or namespace name 'XmlTypeAttributeAttribute' does not exist in the namespace 'System.Xml.Serialization' (are you missing an assembly reference?) 

Error CS0246 The type or namespace name 'AnonymousType' could not be found (are you missing a using directive or an assembly reference?) 

속성

[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")] 
[System.SerializableAttribute()] 
[System.Diagnostics.DebuggerStepThroughAttribute()] 
[System.ComponentModel.DesignerCategoryAttribute("code")] 
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)] 
+0

질문을 좀 더 자세히 지정해야합니다. .NET Core에서 ** 생성되지 않는 ** 생성 된 클래스를 만드는 것이 있습니까? xsd는 max (xml 및 datacontract 특성이 .NET 코어에서 이미 사용 가능해야 함) 특성을 가진 일반 poco 클래스를 생성해야합니다. – Tseng

답변

5

이제는 프로젝트에 너겟을 추가하여이 문제를 해결했습니다.

  • System.Xml.XmlSerializer

해결 방법 : 직렬화가 DesignerCategoryAttribute

  • Newtonsoft.json

솔루션을 제외하고 문제를 속성 제거하십시오 DesignerCategoryAttribute

을 제거합니다

이제 xsd.exe 생성 클래스를 컴파일하고 net core에서 사용할 수 있습니다.

1

이 actualy있는 방법은 없습니다하지만 당신은 this을 볼 경우 미래 ​​.NET 핵심 릴리스의 일부 (닷넷 코어 Q2에서 1.2 릴리스 2017).

자세한 내용은 discuss 및 특별히 point을 참조하십시오.

+0

OK, Q2 2017 그들은 xsd 지원을 제공합니다. 이 날짜가 2017 년 2 분기 이상입니까? – joakimja