在 net core 中从 xsd 文件生成一个 class
Generate a class from xsd file in net core
我需要从 net core 中的 xsd 生成 class。
在 dotnet 标准中,我使用了命令行 xsd filename.xsd /c.
但是我如何在 net core 中创建这个 class 。
有人知道怎么做吗?
当我添加由 xsd.exe 生成的 class 时,我遇到了几个错误。
示例
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 文件中 class 的属性
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
实际上没有办法,但如果您看到 this 它是未来 .net 核心版本的一部分(2017 年第二季度发布的 .Net Core 1.2)。
我现在已经通过向我的项目添加 nugets 解决了这个问题。
- System.Xml.XmlSerializer
解决方案:删除除 DesignerCategoryAttribute 之外的序列化属性问题
- Newtonsoft.json
解决方案:删除 DesignerCategoryAttribute
现在可以编译 xsd.exe 生成的 class 并在网络核心中使用它
netstandard2.0 可以编译xsd.exe 个生成的文件没有问题
我需要从 net core 中的 xsd 生成 class。
在 dotnet 标准中,我使用了命令行 xsd filename.xsd /c.
但是我如何在 net core 中创建这个 class 。
有人知道怎么做吗?
当我添加由 xsd.exe 生成的 class 时,我遇到了几个错误。
示例
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 文件中 class 的属性
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
实际上没有办法,但如果您看到 this 它是未来 .net 核心版本的一部分(2017 年第二季度发布的 .Net Core 1.2)。
我现在已经通过向我的项目添加 nugets 解决了这个问题。
- System.Xml.XmlSerializer
解决方案:删除除 DesignerCategoryAttribute 之外的序列化属性问题
- Newtonsoft.json
解决方案:删除 DesignerCategoryAttribute
现在可以编译 xsd.exe 生成的 class 并在网络核心中使用它
netstandard2.0 可以编译xsd.exe 个生成的文件没有问题