从net core中的xsd文件生成一个类

时间:2017-05-04 08:50:31

标签: asp.net-core .net-core xsd.exe

我需要从net core中的xsd生成一个类。 在dotnet标准中,我使用了命令行xsd filename.xsd /c. 但是如何在网络核心中创建这个类。 谁知道怎么做?

当我添加用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?) 

autogen文件中的类的属性

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

3 个答案:

答案 0 :(得分:6)

我现在已经通过向项目添加nugets解决了这个问题。

  • System.Xml.XmlSerializer

解决方案:删除除DesignerCategoryAttribute

之外的序列化属性问题
  • Newtonsoft.json

解决方案:删除DesignerCategoryAttribute

现在可以编译xsd.exe生成的类并在net core中使用它

答案 1 :(得分:1)

实际上没有办法,但如果你看到this它是未来.net核心版本(2017年第二季度的.Net Core 1.2版本)的一部分。

如果您想了解更多信息,请参阅此discuss,特别是point

答案 2 :(得分:1)

netstandard2.0可以毫无问题地编译xsd.exe生成的文件