using System.Xml;
using System.Xml.Schema;
using System.Text;
-#if !NET_2_1
+#if !MOBILE
using System.CodeDom;
using System.CodeDom.Compiler;
using Microsoft.CSharp;
// debugging pourposes by adding the "nofallback" option.
// For example: MONO_XMLSERIALIZER_THS=0,nofallback
-#if NET_2_1
+#if MOBILE
string db = null;
string th = null;
generationThreshold = -1;
}
#endif
deleteTempFiles = (db == null || db == "no");
-#if !NET_2_1
- IDictionary table = (IDictionary) ConfigurationSettings.GetConfig("system.diagnostics");
+#if !MOBILE && CONFIGURATION_DEP
+ // DiagnosticsSection
+ ConfigurationSection table = (ConfigurationSection) ConfigurationSettings.GetConfig("system.diagnostics");
+ var bf = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance;
if (table != null)
{
- table = (IDictionary) table["switches"];
- if (table != null)
- {
- string val = (string) table ["XmlSerialization.Compilation"];
- if (val == "1") deleteTempFiles = false;
+ // SwitchElementsCollection
+ var pi = table.GetType ().GetProperty ("Switches", bf);
+ var switchesElement = (ConfigurationElementCollection) pi.GetValue (table, null);
+ foreach (ConfigurationElement e in switchesElement) {
+ // SwitchElement
+ if (e.GetType ().GetProperty ("Name", bf).GetValue (e, null) as string == "XmlSerialization.Compilation") {
+ if (e.GetType ().GetProperty ("Value", bf).GetValue (e, null) as string == "1")
+ deleteTempFiles = false;
+ break;
+ }
}
}
#endif
{
}
+ public XmlSerializer (Type type, XmlAttributeOverrides overrides, Type[] extraTypes, XmlRootAttribute root, string defaultNamespace, string location)
+ : this (type, overrides, extraTypes, root, defaultNamespace, location, null)
+ {
+ }
+
public XmlSerializer (Type type, XmlAttributeOverrides overrides)
: this (type, overrides, null, null, null)
{
get { return typeMapping; }
}
-#if NET_2_0
[MonoTODO]
public XmlSerializer (Type type,
Evidence evidence)
{
}
-#endif
#endregion // Constructors
if (namespaces == null || namespaces.Count == 0) {
namespaces = new XmlSerializerNamespaces ();
-#if NET_2_0
namespaces.Add ("xsi", XmlSchema.InstanceNamespace);
namespaces.Add ("xsd", XmlSchema.Namespace);
-#else
- namespaces.Add ("xsd", XmlSchema.Namespace);
- namespaces.Add ("xsi", XmlSchema.InstanceNamespace);
-#endif
}
xsWriter.Initialize (xmlWriter, namespaces);
}
}
-#if !NET_2_1
+#if !MOBILE
if (!typeMapping.Source.CanBeGenerated || generationThreshold == -1)
return new XmlSerializationWriterInterpreter (typeMapping);
XmlSerializationReader CreateReader (XmlMapping typeMapping)
{
-#if !NET_2_1
+#if !MOBILE
XmlSerializationReader reader;
lock (this) {
return new XmlSerializationReaderInterpreter (typeMapping);
}
-#if NET_2_1
+#if MOBILE
void CheckGeneratedTypes (XmlMapping typeMapping)
{
throw new NotImplementedException();
cp.ReferencedAssemblies.Add ("System.Xml");
if (!cp.ReferencedAssemblies.Contains ("System.Data"))
cp.ReferencedAssemblies.Add ("System.Data");
+ if (!cp.ReferencedAssemblies.Contains ("System.Web.Services"))
+ cp.ReferencedAssemblies.Add ("System.Web.Services");
CompilerResults res = comp.CompileAssemblyFromFile (cp, file);
if (res.Errors.HasErrors || res.CompiledAssembly == null) {
}
#endif
-#if NET_2_0
GenerationBatch LoadFromSatelliteAssembly (GenerationBatch batch)
{
return batch;
}
-#else
- GenerationBatch LoadFromSatelliteAssembly (GenerationBatch batch)
- {
- return batch;
- }
-#endif
#endregion // Methods
}