问题描述
我们有一组通过 xsd.exe
获得的类,用于序列化/反序列化一些 XML。我们在 .NET 4.7.2 上使用它,一切顺利。一旦我们尝试升级到 .NET 5,有些类工作正常,但其他类在 XMLSerializer 构造函数上失败,并出现以下错误:
System.PlatformNotSupportedException: Compiling JScript/CSharp scripts is not supported
我已经搜索过这个错误,但我只得到了关于 WCF 的结果。有谁知道 XMLSerializer 中是否有可能引起此错误的更改?
解决方法
我发现了问题。如果它对某人有帮助,我将答案留在这里。我们有这样的属性:
/// <remarks/>
[XmlElement("EstimatedEndDateTime",typeof(System.DateTime),Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
[XmlElement("FinalizedEndDateTime",Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
[XmlChoiceIdentifier("ItemElementName")]
public System.DateTime? Item
{
get
{
return this.itemField;
}
set
{
this.itemField = value;
}
}
我必须将 XmlElement
属性中的类型也更改为 System.DateTime?
。奇怪的是,它曾经适用于 .Net 4.7.2。