Running with AOT compiled, when calling _layoutSerializer.SaveToFile("layout.xml", dockSite); it creates an empty layout.xml file (im calling it in Closing event but I guess it crashes here and thats why its empty). With non-AOT it works fine.
My docksite just has one toolwindow and that's it. Settings are:
_layoutSerializer = new DockSiteLayoutSerializer(){
SerializationBehavior = SockSiteSerializationBehavior.ToolWindowsOnly,
DocumentWindowDeserializationBehavior = DockingWindowDeserializationBehavior.Discard,
ToolWindowDeserializationBehavior = DockingWindowDeserializationBehavior.Discard
};
Toolwindow CanSerialize is true and it has a unique SerializationId. AOT is one of the main reasons why we are currently evaluating switching from WPF to Avalonia. If docking serilization or any other important feature doesn't work with AOT it would be a huge problem for us.
Edit: Yeah it's crashing, looks like AOT has trimmed too much?
Exception Info: System.InvalidOperationException:
ActiproSoftware.UI.Avalonia.Controls.Docking.Serialization.XmlAutoHideContainers cannot be serialized because it does not have a parameterless constructor.
at System.Xml.Serialization.TypeDesc.CheckSupported() + 0x4bat
System.Xml.Serialization.TypeScope.GetTypeDesc(Type, MemberInfo, Boolean, Boolean) + 0xddat
System.Xml.Serialization.ModelScope.GetTypeModel(Type, Boolean) + 0x50at
System.Xml.Serialization.XmlReflectionImporter.IncludeType(Type, RecursionLimiter) + 0x52at
System.Xml.Serialization.XmlSerializer.GenerateXmlTypeMapping(Type, XmlAttributeOverrides, Type[], XmlRootAttribute, String) + 0x79at
ActiproSoftware.UI.Avalonia.Controls.Docking.Serialization.DockSiteLayoutSerializer.GetXmlSerializer() + 0x152at ActiproSoftware.UI.Avalonia.Serialization.XmlSerializerBase`2.yem() + 0x1bat
ActiproSoftware.UI.Avalonia.Serialization.XmlSerializerBase`2.Ye0(XmlWriter, Object) + 0x18at
ActiproSoftware.UI.Avalonia.Serialization.XmlSerializerBase`2.NeH(String, Object) + 0x5cat
Avalonia.Controls.Window.ShouldCancelClose(WindowClosingEventArgs) + 0xd6at [Modified 1 days ago]