Search Unity

Classes to preserve in link.xml for using XMLSerializer

Discussion in 'iOS and tvOS' started by andymads, Apr 11, 2012.

  1. andymads

    andymads

    Joined:
    Jun 16, 2011
    Posts:
    1,614
    Hello.

    I'm having a bit of trouble using XMLSerializer along with stripping. Does anyone know what classes to preserve in the link.xml file?

    Thanks.
     
  2. eezSZI

    eezSZI

    Joined:
    Nov 16, 2012
    Posts:
    121
    Hey andymads,

    Did you ever figure this out?
     
  3. eezSZI

    eezSZI

    Joined:
    Nov 16, 2012
    Posts:
    121
    For future reference, below is the link.xml that enabled it to work. I also have included some extras for other assemblies we are using so some could be removed I'm sure. In Build Settings I have .NET 2.0 and Strip ByteCode. iOS build.

    Code (csharp):
    1. <linker>
    2.   <assembly fullname="System.Configuration">
    3.     <type fullname="System.Configuration.ExeConfigurationHost" preserve="all"/>
    4.   </assembly>
    5.  
    6.  
    7.   <assembly fullname="System">
    8.  
    9.     <type fullname="System.Net.Configuration.ConnectionManagementSection" preserve="all"/>
    10.     <type fullname="System.Net.Configuration.DefaultProxySection" preserve="all"/>
    11.     <type fullname="System.Net.Configuration.HttpWebRequestElement" preserve="all"/>
    12.     <type fullname="System.Net.Configuration.Ipv6Element" preserve="all"/>
    13.     <type fullname="System.Net.Configuration.NetSectionGroup" preserve="all"/>
    14.     <type fullname="System.Net.Configuration.PerformanceCountersElement" preserve="all"/>
    15.     <type fullname="System.Net.Configuration.ProxyElement" preserve="all"/>
    16.     <type fullname="System.Net.Configuration.ServicePointManagerElement" preserve="all"/>
    17.     <type fullname="System.Net.Configuration.SettingsSection" preserve="all"/>
    18.     <type fullname="System.Net.Configuration.SocketElement" preserve="all"/>
    19.        
    20.     <!-- JSON.NET requirements -->
    21.    <type fullname="System.ComponentModel.TypeDescriptor" preserve="all"/>
    22.    <type fullname="System.ComponentModel.TypeConverter" preserve="all"/>
    23.    <type fullname="System.ComponentModel.StringConverter" preserve="all"/>
    24.    <type fullname="System.ComponentModel.BooleanConverter" preserve="all"/>
    25.    <type fullname="System.ComponentModel.EnumConverter" preserve="all"/>
    26.    <type fullname="System.ComponentModel.Int64Converter" preserve="all"/>
    27.    <type fullname="System.ComponentModel.Int32Converter" preserve="all"/>
    28.    <type fullname="System.ComponentModel.Int16Converter" preserve="all"/>
    29.    <type fullname="System.ComponentModel.ArrayConverter" preserve="all"/>
    30.    <type fullname="System.ComponentModel.CollectionConverter" preserve="all"/>
    31.    <type fullname="System.ComponentModel.DecimalConverter" preserve="all"/>
    32.    <type fullname="System.ComponentModel.SingleConverter" preserve="all"/>
    33.    <type fullname="System.ComponentModel.DoubleConverter" preserve="all"/>
    34.    <type fullname="System.ComponentModel.TimeSpanConverter" preserve="all"/>
    35.        
    36.     <!-- XMLSerilizer -->
    37.    <type fullname="System.Diagnostics" preserve="all"/>
    38.    <type fullname="System.Diagnostics.DiagnosticsConfigurationHandler" preserve="all"/>
    39.    
    40.       </assembly>
    41.    
    42.     <!-- XMLSerilizer -->
    43. <assembly fullname="System.Xml">
    44.     <type fullname="System.Xml" preserve="all"/>
    45.     <type fullname="System.Xml.Serialization" preserve="all"/>
    46.     <type fullname="System.Xml.Serialization.XmlSerializer" preserve="all"/>        
    47.   </assembly>
    48.  
    49. </linker>
     
    Last edited: Oct 23, 2013
  4. andymads

    andymads

    Joined:
    Jun 16, 2011
    Posts:
    1,614
    I didn't. So thanks for your post.