IL2CPP stripping help.

Hello there,

Relevant Info: iOS, IL2CPP, stripping disabled, works in Mono2x

Situation:

My emailing script doesn’t work because some of the types used in it are being stripped out. The problem is that System.Net.Configuration.MailSettingsSectionGroup’s constructor keeps getting stripped regardless if it’s in the link.xml or not. I’ve seen on the help forms that Josh Peterson has said to add it to the link.xml file and he provides a link (Unity - Manual: Optimizing the size of the built iOS Player) but apparently I can’t do anything right because it’s still being stripped. my link.xml which is in my assets folder is also provided below.

Question:

Can someone help me figure out how stop System.Net.Configuration.MailSettingsSectionGroup from being stripped. My link.xml has become a large tangled mess because of my lack of understanding.

Thanks in advance for all you help! have a great day.


Xcode Error:

MissingMethodException: 
Method not found: 'Default constructor not found...ctor() of 
System.Net.Configuration.MailSettingsSectionGroup'.

Link.xml:

<linker>
    <assembly fullname="System">
    	<type fullname="System.Net.Configuration.MailSettingsSectionGroup" perserve="all"/>
        <type fullname="System.Net.Configuration.WebRequestModuleHandler" preserve="all"/>
        <type fullname="System.Net.HttpRequestCreator" preserve="all"/>
        <type fullname="System.Net.FileWebRequestCreator" preserve="all"/>
        <type fullname="System.Net" preserve="all"/>
        <type fullname="System.Net.Mail" preserve="all"/>
        <type fullname="System.Net.Security" preserve="all"/>
    	
	    <type fullname="System.Net.Configuration.NetSectionGroup" preserve="all"/>
        <type fullname="System.Net.Configuration.SettingsSection" preserve="all"/>
		<type fullname="System.Net.Configuration.Ipv6Element" preserve="all"/>
		<type fullname="System.Net.Configuration.WebRequestModulesSection" preserve="all"/>
        <type fullname="System.Net.Configuration.WebRequestModuleElementCollection" preserve="all"/>
   
        <type fullname="System.ComponentModel.TypeConverter" preserve="all"/>
        <type fullname="System.ComponentModel.ArrayConverter" preserve="all"/>
        <type fullname="System.ComponentModel.BaseNumberConverter" preserve="all"/>
        <type fullname="System.ComponentModel.BooleanConverter" preserve="all"/>
        <type fullname="System.ComponentModel.ByteConverter" preserve="all"/>
        <type fullname="System.ComponentModel.CharConverter" preserve="all"/>
        <type fullname="System.ComponentModel.CollectionConverter" preserve="all"/>
        <type fullname="System.ComponentModel.ComponentConverter" preserve="all"/>
        <type fullname="System.ComponentModel.CultureInfoConverter" preserve="all"/>
        <type fullname="System.ComponentModel.DateTimeConverter" preserve="all"/>
        <type fullname="System.ComponentModel.DecimalConverter" preserve="all"/>
        <type fullname="System.ComponentModel.DoubleConverter" preserve="all"/>
        <type fullname="System.ComponentModel.EnumConverter" preserve="all"/>
        <type fullname="System.ComponentModel.ExpandableObjectConverter" preserve="all"/>
        <type fullname="System.ComponentModel.Int16Converter" preserve="all"/>
        <type fullname="System.ComponentModel.Int32Converter" preserve="all"/>
        <type fullname="System.ComponentModel.Int64Converter" preserve="all"/>
        <type fullname="System.ComponentModel.NullableConverter" preserve="all"/>
        <type fullname="System.ComponentModel.SByteConverter" preserve="all"/>
        <type fullname="System.ComponentModel.SingleConverter" preserve="all"/>
        <type fullname="System.ComponentModel.StringConverter" preserve="all"/>
        <type fullname="System.ComponentModel.TimeSpanConverter" preserve="all"/>
        <type fullname="System.ComponentModel.UInt16Converter" preserve="all"/>
        <type fullname="System.ComponentModel.UInt32Converter" preserve="all"/>
        <type fullname="System.ComponentModel.UInt64Converter" preserve="all"/>
    </assembly>
    
    <assembly fillname="System.Net">
    	<type fullname="System.Net.Configuration.MailSettingsSectionGroup" perserve="all"/>
        <type fullname="System.Net.Configuration.WebRequestModuleHandler" preserve="all"/>
        <type fullname="System.Net.HttpRequestCreator" preserve="all"/>
        <type fullname="System.Net.FileWebRequestCreator" preserve="all"/>
        <type fullname="System.Net" preserve="all"/>
        <type fullname="System.Net.Mail" preserve="all"/>
        <type fullname="System.Net.Security" preserve="all"/>
    	
	    <type fullname="System.Net.Configuration.NetSectionGroup" preserve="all"/>
        <type fullname="System.Net.Configuration.SettingsSection" preserve="all"/>
		<type fullname="System.Net.Configuration.Ipv6Element" preserve="all"/>
		<type fullname="System.Net.Configuration.WebRequestModulesSection" preserve="all"/>
        <type fullname="System.Net.Configuration.WebRequestModuleElementCollection" preserve="all"/>
   
    </assembly>

    <assembly fullname="System.Configuration">
	    <type fullname="System.Configuration.ExeConfigurationHost" preserve="all"/>
	</assembly>
	
	<assembly fullname="mscorlib">
	    <namespace fullname="System.Security.Cryptography" preserve="all"/>
	    <namespace fullname="System.Reflection.TargetInvocationException" preserve="all"/>
	</assembly>

</linker>

Script Includes:

using UnityEngine;
using System.Collections;
using System;
using System.Net;
using System.Net.Mail;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using UnityEngine.Events;
using UnityEngine.UI;

so it turns out that Link.xml != link.xml on a Mac. i simply renamed the file from Link.xml to link.xml and it worked. (note: the link.xml I provided has many problems would not use it)