使用Dotfuscator进行XML序列化

Tre*_*ott 3 c# xml serialization dotfuscator

我试图将一些嵌套类序列化为XML文件.

我的加载和保存方法使用XmlSerializer/TextWriter/TextReader.如果我不使用Dotfuscator,这可以正常工作.但是,如果我使用Dotfuscator,它无法将类写入文件,我只获得根XML标记.

我已经尝试过明确命名每个字段,如下所示:

[XmlRoot("ParentClass")]
public class ParentClass
{
    [XmlArray("ChildClasses")]
    public List<ChildClass> ChildClasses;
}

[XmlType("ChildClass")]
public class ChildClass
{
    [XmlElement("Property")]
    public string Property;
}
Run Code Online (Sandbox Code Playgroud)

基本上,如果它被序列化,我已经给它明确的命名.但是我测试了它,它仍然无法与Dotfuscator一起使用.任何人都知道如何让它工作?

Dan*_*Man 5

XML Serialization使用反射,因此Dotfuscator可以重命名这些类的事实可能会导致问题.

试试这个:

[Obfuscation(Feature = "renaming", Exclude = true)]
public class ParentClass
{
   ...
Run Code Online (Sandbox Code Playgroud)

用这个装饰器装饰将要进行XML序列化的每个类.