From 851b97ac58a708553b968e023909dc3348f25c83 Mon Sep 17 00:00:00 2001 From: donandren Date: Wed, 1 Mar 2017 17:00:15 +0200 Subject: [PATCH 01/72] Added some simple tests for Content control and datatemplate --- .../Xaml/BasicTests.cs | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs index a742a4ac96..b732c0d642 100644 --- a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs +++ b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs @@ -1,6 +1,8 @@ // Copyright (c) The Avalonia Project. All rights reserved. // Licensed under the MIT license. See licence.md file in the project root for full license information. +using System.IO; +using System.Text; using Avalonia.Controls; using Avalonia.UnitTests; using Xunit; @@ -9,6 +11,60 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml { public class BasicTests { + [Fact] + public void Simple_Property_Is_Set() + { + + var xaml = @" + +"; + var loader = new AvaloniaXamlLoader(); + var target = (ContentControl)loader.Load(xaml); + + Assert.NotNull(target); + Assert.Equal("Foo", target.Content); + } + + [Fact] + public void Default_Content_Property_Is_Set() + { + var xaml = @" +Foo"; + var loader = new AvaloniaXamlLoader(); + var target = (ContentControl)loader.Load(xaml); + + Assert.NotNull(target); + Assert.Equal("Foo", target.Content); + } + + [Fact] + public void ContentControl_ContentTemplate_Is_Functional() + { + var xaml = +@" + + + + + +"; + + var loader = new AvaloniaXamlLoader(); + var contentControl = (ContentControl)loader.Load(xaml); + var target = contentControl.ContentTemplate; + + Assert.NotNull(target); + + var txt = (TextBlock)target.Build(null); + + Assert.Equal("Foo", txt.Text); + } + [Fact] public void Named_Control_Is_Added_To_NameScope() { From 1948fff8de6d8025e24c6668c57a940751cb4231 Mon Sep 17 00:00:00 2001 From: donandren Date: Wed, 1 Mar 2017 17:58:22 +0200 Subject: [PATCH 02/72] named control added to namescope tests --- .../Xaml/BasicTests.cs | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs index b732c0d642..d0d99c5569 100644 --- a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs +++ b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs @@ -65,6 +65,36 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml Assert.Equal("Foo", txt.Text); } + [Fact] + public void Named_Control_Is_Added_To_NameScope_Simple() + { + var xaml = @" + + +"; + var loader = new AvaloniaXamlLoader(); + var control = (UserControl)loader.Load(xaml); + var button = control.FindControl +"; + var loader = new AvaloniaXamlLoader(); + var control = (UserControl)loader.Load(xaml); + var button = control.FindControl "; var loader = new AvaloniaXamlLoader(); @@ -95,6 +86,55 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml Assert.Equal("Foo", button.Content); } + [Fact] + public void Standart_TypeConverter_Is_Used() + { + var xaml = @""; + + var control = (UserControl)new AvaloniaXamlLoader().Load(xaml); + Assert.Equal(200.5, control.Width); + } + + [Fact] + public void Avalonia_TypeConverter_Is_Used() + { + var xaml = @""; + + var control = (UserControl)new AvaloniaXamlLoader().Load(xaml); + var bk = control.Background; + Assert.IsType(bk); + Assert.Equal(Colors.White, (bk as SolidColorBrush).Color); + } + + [Fact] + public void Simple_Style_Is_Parsed() + { + var xaml = @" + + +"; + + var styles = (Styles)new AvaloniaXamlLoader().Load(xaml); + + Assert.Equal(1, styles.Count); + + var style = (Style)styles[0]; + + var setters = style.Setters.Cast().ToArray(); + + Assert.Equal(2, setters.Length); + + Assert.Equal(TextBlock.BackgroundProperty, setters[0].Property); + Assert.Equal(Brushes.White, setters[0].Value); + + Assert.Equal(TextBlock.WidthProperty, setters[1].Property); + Assert.Equal(100.0, setters[1].Value); + } + [Fact] public void Named_Control_Is_Added_To_NameScope() { @@ -137,4 +177,4 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml } } } -} +} \ No newline at end of file diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/packages.config b/tests/Avalonia.Markup.Xaml.UnitTests/packages.config index cad6395387..6972facac2 100644 --- a/tests/Avalonia.Markup.Xaml.UnitTests/packages.config +++ b/tests/Avalonia.Markup.Xaml.UnitTests/packages.config @@ -1,6 +1,7 @@  + From d42e6d02cbed21d59aac32c96e89296906b9506b Mon Sep 17 00:00:00 2001 From: donandren Date: Thu, 2 Mar 2017 15:12:15 +0200 Subject: [PATCH 04/72] initial portable xaml support attempt with datatemplate working and namespace support --- src/Avalonia.Base/Avalonia.Base.csproj | 1 + src/Avalonia.Base/Metadata/TemplateContent.cs | 15 ++ .../Avalonia.Markup.Xaml.csproj | 16 +- .../AvaloniaXamlLoader.cs | 230 +----------------- .../AvaloniaXamlLoaderOmniXaml.cs | 227 +++++++++++++++++ .../AvaloniaXamlLoaderPortableXaml.cs | 219 +++++++++++++++++ .../Context/AvaloniaObjectAssembler.cs | 2 + .../Context/AvaloniaParserFactory.cs | 2 + .../Context/AvaloniaTypeFeatureProvider.cs | 2 +- .../AvaloniaMemberAttributeProvider.cs | 69 ++++++ .../PortableXaml/AvaloniaNameScope.cs | 56 +++++ .../AvaloniaRuntimeTypeProvider.cs | 147 +++++++++++ .../AvaloniaTypeAttributeProvider.cs | 91 +++++++ .../PortableXaml/AvaloniaXamlObjectWriter.cs | 101 ++++++++ .../PortableXaml/AvaloniaXamlSchemaContext.cs | 70 ++++++ .../Templates/DataTemplate.cs | 10 +- .../Templates/TemplateContent.cs | 31 ++- .../Templates/TemplateLoader.cs | 23 +- .../Avalonia.Markup.Xaml/packages.config | 1 + .../Avalonia.Markup/Avalonia.Markup.csproj | 11 + src/Markup/Avalonia.Markup/packages.config | 12 + 21 files changed, 1105 insertions(+), 231 deletions(-) create mode 100644 src/Avalonia.Base/Metadata/TemplateContent.cs create mode 100644 src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderOmniXaml.cs create mode 100644 src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderPortableXaml.cs create mode 100644 src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaMemberAttributeProvider.cs create mode 100644 src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaNameScope.cs create mode 100644 src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaRuntimeTypeProvider.cs create mode 100644 src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaTypeAttributeProvider.cs create mode 100644 src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs create mode 100644 src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs diff --git a/src/Avalonia.Base/Avalonia.Base.csproj b/src/Avalonia.Base/Avalonia.Base.csproj index 90550a12f2..acc4145dc5 100644 --- a/src/Avalonia.Base/Avalonia.Base.csproj +++ b/src/Avalonia.Base/Avalonia.Base.csproj @@ -70,6 +70,7 @@ + diff --git a/src/Avalonia.Base/Metadata/TemplateContent.cs b/src/Avalonia.Base/Metadata/TemplateContent.cs new file mode 100644 index 0000000000..ecc16b04a2 --- /dev/null +++ b/src/Avalonia.Base/Metadata/TemplateContent.cs @@ -0,0 +1,15 @@ +// Copyright (c) The Avalonia Project. All rights reserved. +// Licensed under the MIT license. See licence.md file in the project root for full license information. + +using System; + +namespace Avalonia.Metadata +{ + /// + /// Defines the property that contains the object's content in markup. + /// + [AttributeUsage(AttributeTargets.Property)] + public class TemplateContentAttribute : Attribute + { + } +} diff --git a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj index 4ed20629cf..2f33fb912d 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj +++ b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj @@ -21,7 +21,7 @@ full false bin\Debug\ - DEBUG;TRACE + TRACE;DEBUG;OMNIXAML_no prompt 4 CS1591 @@ -40,6 +40,13 @@ Properties\SharedAssemblyInfo.cs + + + + + + + @@ -266,8 +273,9 @@ + - + @@ -322,6 +330,10 @@ + + ..\..\..\packages\Portable.Xaml.0.15.0\lib\portable-net45+win+wpa81+wp80+MonoAndroid10+xamarinios10+MonoTouch10\Portable.Xaml.dll + True + ..\..\..\packages\Sprache.2.1.0\lib\netstandard1.0\Sprache.dll diff --git a/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs b/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs index 7b3d0036ef..978048bb9d 100644 --- a/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs +++ b/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs @@ -1,225 +1,11 @@ -// Copyright (c) The Avalonia Project. All rights reserved. -// Licensed under the MIT license. See licence.md file in the project root for full license information. - -using System; -using System.Collections.Generic; -using System.IO; -using System.Reflection; -using System.Text; -using OmniXaml; -using Avalonia.Platform; -using Avalonia.Markup.Xaml.Context; -using Avalonia.Markup.Xaml.Styling; -using OmniXaml.ObjectAssembler; -using Avalonia.Controls; -using Avalonia.Markup.Xaml.Data; - -namespace Avalonia.Markup.Xaml +namespace Avalonia.Markup.Xaml { - /// - /// Loads XAML for a avalonia application. - /// - public class AvaloniaXamlLoader : XmlLoader + public class AvaloniaXamlLoader : +#if OMNIXAML + AvaloniaXamlLoaderOmniXaml +#else + AvaloniaXamlLoaderPortableXaml +#endif { - private static AvaloniaParserFactory s_parserFactory; - private static IInstanceLifeCycleListener s_lifeCycleListener = new AvaloniaLifeCycleListener(); - private static Stack s_uriStack = new Stack(); - - /// - /// Initializes a new instance of the class. - /// - public AvaloniaXamlLoader() - : this(GetParserFactory()) - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The parser factory to use. - public AvaloniaXamlLoader(IParserFactory xamlParserFactory) - : base(xamlParserFactory) - { - } - - /// - /// Gets the URI of the XAML file currently being loaded. - /// - /// - /// TODO: Making this internal for now as I'm not sure that this is the correct - /// thing to do, but its needed by to get the URL of - /// the currently loading XAML file, as we can't use the OmniXAML parsing context - /// there. Maybe we need a way to inject OmniXAML context into the objects its - /// constructing? - /// - internal static Uri UriContext => s_uriStack.Count > 0 ? s_uriStack.Peek() : null; - - /// - /// Loads the XAML into a Avalonia component. - /// - /// The object to load the XAML into. - public static void Load(object obj) - { - Contract.Requires(obj != null); - - var loader = new AvaloniaXamlLoader(); - loader.Load(obj.GetType(), obj); - } - - /// - /// Loads the XAML for a type. - /// - /// The type. - /// - /// The optional instance into which the XAML should be loaded. - /// - /// The loaded object. - public object Load(Type type, object rootInstance = null) - { - Contract.Requires(type != null); - - // HACK: Currently Visual Studio is forcing us to change the extension of xaml files - // in certain situations, so we try to load .xaml and if that's not found we try .xaml. - // Ideally we'd be able to use .xaml everywhere - var assetLocator = AvaloniaLocator.Current.GetService(); - - if (assetLocator == null) - { - throw new InvalidOperationException( - "Could not create IAssetLoader : maybe Application.RegisterServices() wasn't called?"); - } - - foreach (var uri in GetUrisFor(type)) - { - if (assetLocator.Exists(uri)) - { - using (var stream = assetLocator.Open(uri)) - { - var initialize = rootInstance as ISupportInitialize; - initialize?.BeginInit(); - return Load(stream, rootInstance, uri); - } - } - } - - throw new FileNotFoundException("Unable to find view for " + type.FullName); - } - - /// - /// Loads XAML from a URI. - /// - /// The URI of the XAML file. - /// - /// A base URI to use if is relative. - /// - /// - /// The optional instance into which the XAML should be loaded. - /// - /// The loaded object. - public object Load(Uri uri, Uri baseUri = null, object rootInstance = null) - { - Contract.Requires(uri != null); - - var assetLocator = AvaloniaLocator.Current.GetService(); - - if (assetLocator == null) - { - throw new InvalidOperationException( - "Could not create IAssetLoader : maybe Application.RegisterServices() wasn't called?"); - } - - using (var stream = assetLocator.Open(uri, baseUri)) - { - return Load(stream, rootInstance, uri); - } - } - - /// - /// Loads XAML from a string. - /// - /// The string containing the XAML. - /// - /// The optional instance into which the XAML should be loaded. - /// - /// The loaded object. - public object Load(string xaml, object rootInstance = null) - { - Contract.Requires(xaml != null); - - using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(xaml))) - { - return Load(stream, rootInstance); - } - } - - /// - /// Loads XAML from a stream. - /// - /// The stream containing the XAML. - /// - /// The optional instance into which the XAML should be loaded. - /// - /// The URI of the XAML - /// The loaded object. - public object Load(Stream stream, object rootInstance = null, Uri uri = null) - { - try - { - if (uri != null) - { - s_uriStack.Push(uri); - } - - var result = base.Load(stream, new Settings - { - RootInstance = rootInstance, - InstanceLifeCycleListener = s_lifeCycleListener, - ParsingContext = new Dictionary - { - { "Uri", uri } - } - }); - - var topLevel = result as TopLevel; - - if (topLevel != null) - { - DelayedBinding.ApplyBindings(topLevel); - } - - return result; - } - finally - { - if (uri != null) - { - s_uriStack.Pop(); - } - } - } - - private static AvaloniaParserFactory GetParserFactory() - { - if (s_parserFactory == null) - { - s_parserFactory = new AvaloniaParserFactory(); - } - - return s_parserFactory; - } - - /// - /// Gets the URI for a type. - /// - /// The type. - /// The URI. - private static IEnumerable GetUrisFor(Type type) - { - var asm = type.GetTypeInfo().Assembly.GetName().Name; - var typeName = type.FullName; - yield return new Uri("resm:" + typeName + ".xaml?assembly=" + asm); - yield return new Uri("resm:" + typeName + ".paml?assembly=" + asm); - - } } -} +} \ No newline at end of file diff --git a/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderOmniXaml.cs b/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderOmniXaml.cs new file mode 100644 index 0000000000..df734dfe39 --- /dev/null +++ b/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderOmniXaml.cs @@ -0,0 +1,227 @@ +// Copyright (c) The Avalonia Project. All rights reserved. +// Licensed under the MIT license. See licence.md file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Reflection; +using System.Text; +using OmniXaml; +using Avalonia.Platform; +using Avalonia.Markup.Xaml.Context; +using Avalonia.Markup.Xaml.Styling; +using OmniXaml.ObjectAssembler; +using Avalonia.Controls; +using Avalonia.Markup.Xaml.Data; + +namespace Avalonia.Markup.Xaml +{ +#if OMNIXAML + /// + /// Loads XAML for a avalonia application. + /// + public class AvaloniaXamlLoaderOmniXaml : XmlLoader + { + private static AvaloniaParserFactory s_parserFactory; + private static IInstanceLifeCycleListener s_lifeCycleListener = new AvaloniaLifeCycleListener(); + private static Stack s_uriStack = new Stack(); + + /// + /// Initializes a new instance of the class. + /// + public AvaloniaXamlLoaderOmniXaml() + : this(GetParserFactory()) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// The parser factory to use. + public AvaloniaXamlLoaderOmniXaml(IParserFactory xamlParserFactory) + : base(xamlParserFactory) + { + } + + /// + /// Gets the URI of the XAML file currently being loaded. + /// + /// + /// TODO: Making this internal for now as I'm not sure that this is the correct + /// thing to do, but its needed by to get the URL of + /// the currently loading XAML file, as we can't use the OmniXAML parsing context + /// there. Maybe we need a way to inject OmniXAML context into the objects its + /// constructing? + /// + internal static Uri UriContext => s_uriStack.Count > 0 ? s_uriStack.Peek() : null; + + /// + /// Loads the XAML into a Avalonia component. + /// + /// The object to load the XAML into. + public static void Load(object obj) + { + Contract.Requires(obj != null); + + var loader = new AvaloniaXamlLoaderOmniXaml(); + loader.Load(obj.GetType(), obj); + } + + /// + /// Loads the XAML for a type. + /// + /// The type. + /// + /// The optional instance into which the XAML should be loaded. + /// + /// The loaded object. + public object Load(Type type, object rootInstance = null) + { + Contract.Requires(type != null); + + // HACK: Currently Visual Studio is forcing us to change the extension of xaml files + // in certain situations, so we try to load .xaml and if that's not found we try .xaml. + // Ideally we'd be able to use .xaml everywhere + var assetLocator = AvaloniaLocator.Current.GetService(); + + if (assetLocator == null) + { + throw new InvalidOperationException( + "Could not create IAssetLoader : maybe Application.RegisterServices() wasn't called?"); + } + + foreach (var uri in GetUrisFor(type)) + { + if (assetLocator.Exists(uri)) + { + using (var stream = assetLocator.Open(uri)) + { + var initialize = rootInstance as ISupportInitialize; + initialize?.BeginInit(); + return Load(stream, rootInstance, uri); + } + } + } + + throw new FileNotFoundException("Unable to find view for " + type.FullName); + } + + /// + /// Loads XAML from a URI. + /// + /// The URI of the XAML file. + /// + /// A base URI to use if is relative. + /// + /// + /// The optional instance into which the XAML should be loaded. + /// + /// The loaded object. + public object Load(Uri uri, Uri baseUri = null, object rootInstance = null) + { + Contract.Requires(uri != null); + + var assetLocator = AvaloniaLocator.Current.GetService(); + + if (assetLocator == null) + { + throw new InvalidOperationException( + "Could not create IAssetLoader : maybe Application.RegisterServices() wasn't called?"); + } + + using (var stream = assetLocator.Open(uri, baseUri)) + { + return Load(stream, rootInstance, uri); + } + } + + /// + /// Loads XAML from a string. + /// + /// The string containing the XAML. + /// + /// The optional instance into which the XAML should be loaded. + /// + /// The loaded object. + public object Load(string xaml, object rootInstance = null) + { + Contract.Requires(xaml != null); + + using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(xaml))) + { + return Load(stream, rootInstance); + } + } + + /// + /// Loads XAML from a stream. + /// + /// The stream containing the XAML. + /// + /// The optional instance into which the XAML should be loaded. + /// + /// The URI of the XAML + /// The loaded object. + public object Load(Stream stream, object rootInstance = null, Uri uri = null) + { + try + { + if (uri != null) + { + s_uriStack.Push(uri); + } + + var result = base.Load(stream, new Settings + { + RootInstance = rootInstance, + InstanceLifeCycleListener = s_lifeCycleListener, + ParsingContext = new Dictionary + { + { "Uri", uri } + } + }); + + var topLevel = result as TopLevel; + + if (topLevel != null) + { + DelayedBinding.ApplyBindings(topLevel); + } + + return result; + } + finally + { + if (uri != null) + { + s_uriStack.Pop(); + } + } + } + + private static AvaloniaParserFactory GetParserFactory() + { + if (s_parserFactory == null) + { + s_parserFactory = new AvaloniaParserFactory(); + } + + return s_parserFactory; + } + + /// + /// Gets the URI for a type. + /// + /// The type. + /// The URI. + private static IEnumerable GetUrisFor(Type type) + { + var asm = type.GetTypeInfo().Assembly.GetName().Name; + var typeName = type.FullName; + yield return new Uri("resm:" + typeName + ".xaml?assembly=" + asm); + yield return new Uri("resm:" + typeName + ".paml?assembly=" + asm); + + } + } +#endif +} diff --git a/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderPortableXaml.cs b/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderPortableXaml.cs new file mode 100644 index 0000000000..d09787803a --- /dev/null +++ b/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderPortableXaml.cs @@ -0,0 +1,219 @@ +// Copyright (c) The Avalonia Project. All rights reserved. +// Licensed under the MIT license. See licence.md file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Reflection; +using System.Text; +using Avalonia.Controls; +using Avalonia.Markup.Xaml.Context; +using Avalonia.Markup.Xaml.Data; +using Avalonia.Markup.Xaml.PortableXaml; +using Avalonia.Platform; +using Portable.Xaml; + +namespace Avalonia.Markup.Xaml +{ + /// + /// Loads XAML for a avalonia application. + /// + public class AvaloniaXamlLoaderPortableXaml + { + internal static readonly AvaloniaXamlSchemaContext _context + = new AvaloniaXamlSchemaContext(new AvaloniaRuntimeTypeProvider()); + + /// + /// Initializes a new instance of the class. + /// + public AvaloniaXamlLoaderPortableXaml() + { + } + + /// + /// Gets the URI of the XAML file currently being loaded. + /// + /// + /// TODO: Making this internal for now as I'm not sure that this is the correct + /// thing to do, but its needed by to get the URL of + /// the currently loading XAML file, as we can't use the OmniXAML parsing context + /// there. Maybe we need a way to inject OmniXAML context into the objects its + /// constructing? + /// + [Obsolete] + internal static Uri UriContext => s_uriStack.Count > 0 ? s_uriStack.Peek() : null; + + private static Stack s_uriStack = new Stack(); + + /// + /// Loads the XAML into a Avalonia component. + /// + /// The object to load the XAML into. + public static void Load(object obj) + { + Contract.Requires(obj != null); + + var loader = new AvaloniaXamlLoader(); + loader.Load(obj.GetType(), obj); + } + + /// + /// Loads the XAML for a type. + /// + /// The type. + /// + /// The optional instance into which the XAML should be loaded. + /// + /// The loaded object. + public object Load(Type type, object rootInstance = null) + { + Contract.Requires(type != null); + + // HACK: Currently Visual Studio is forcing us to change the extension of xaml files + // in certain situations, so we try to load .xaml and if that's not found we try .xaml. + // Ideally we'd be able to use .xaml everywhere + var assetLocator = AvaloniaLocator.Current.GetService(); + + if (assetLocator == null) + { + throw new InvalidOperationException( + "Could not create IAssetLoader : maybe Application.RegisterServices() wasn't called?"); + } + + foreach (var uri in GetUrisFor(type)) + { + if (assetLocator.Exists(uri)) + { + using (var stream = assetLocator.Open(uri)) + { + var initialize = rootInstance as ISupportInitialize; + initialize?.BeginInit(); + return Load(stream, type, rootInstance, uri); + } + } + } + + throw new FileNotFoundException("Unable to find view for " + type.FullName); + } + + /// + /// Loads XAML from a URI. + /// + /// The URI of the XAML file. + /// + /// A base URI to use if is relative. + /// + /// + /// The optional instance into which the XAML should be loaded. + /// + /// The loaded object. + public object Load(Uri uri, Uri baseUri = null, object rootInstance = null) + { + Contract.Requires(uri != null); + + var assetLocator = AvaloniaLocator.Current.GetService(); + + if (assetLocator == null) + { + throw new InvalidOperationException( + "Could not create IAssetLoader : maybe Application.RegisterServices() wasn't called?"); + } + + using (var stream = assetLocator.Open(uri, baseUri)) + { + return Load(stream, null, rootInstance, uri); + } + } + + /// + /// Loads XAML from a string. + /// + /// The string containing the XAML. + /// + /// The optional instance into which the XAML should be loaded. + /// + /// The loaded object. + public object Load(string xaml, Type type = null, object rootInstance = null) + { + Contract.Requires(xaml != null); + + using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(xaml))) + { + return Load(stream, type, rootInstance); + } + } + + /// + /// Loads XAML from a stream. + /// + /// The stream containing the XAML. + /// + /// The optional instance into which the XAML should be loaded. + /// + /// The URI of the XAML + /// The loaded object. + public object Load(Stream stream, Type type = null, object rootInstance = null, Uri uri = null) + { + try + { + if (uri != null) + { + s_uriStack.Push(uri); + } + + var readerSettings = new XamlXmlReaderSettings(); + + if (rootInstance != null && type == null) + { + type = rootInstance.GetType(); + } + + if (type != null) + { + readerSettings.LocalAssembly = type.GetTypeInfo().Assembly; + } + + var reader = new XamlXmlReader(stream, _context, readerSettings); + object result = Load(reader, rootInstance); + + var topLevel = result as TopLevel; + + if (topLevel != null) + { + DelayedBinding.ApplyBindings(topLevel); + } + + return result; + } + finally + { + if (uri != null) + { + s_uriStack.Pop(); + } + } + } + + internal static object Load(XamlXmlReader reader, object instance) + { + var writer = AvaloniaXamlObjectWriter.Create(_context, instance); + + XamlServices.Transform(reader, writer); + + return writer.Result; + } + + /// + /// Gets the URI for a type. + /// + /// The type. + /// The URI. + private static IEnumerable GetUrisFor(Type type) + { + var asm = type.GetTypeInfo().Assembly.GetName().Name; + var typeName = type.FullName; + yield return new Uri("resm:" + typeName + ".xaml?assembly=" + asm); + yield return new Uri("resm:" + typeName + ".paml?assembly=" + asm); + } + } +} \ No newline at end of file diff --git a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaObjectAssembler.cs b/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaObjectAssembler.cs index 1f5d259fc3..fefebdd18d 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaObjectAssembler.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaObjectAssembler.cs @@ -12,6 +12,7 @@ using System.Collections.ObjectModel; namespace Avalonia.Markup.Xaml.Context { +#if OMNIXAML public class AvaloniaObjectAssembler : IObjectAssembler { private readonly TemplateHostingObjectAssembler objectAssembler; @@ -76,4 +77,5 @@ namespace Avalonia.Markup.Xaml.Context return dict; } } +#endif } \ No newline at end of file diff --git a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaParserFactory.cs b/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaParserFactory.cs index 9e0c21edd4..69ab0727da 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaParserFactory.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaParserFactory.cs @@ -8,6 +8,7 @@ using OmniXaml.Parsers.ProtoParser; namespace Avalonia.Markup.Xaml.Context { +#if OMNIXAML public class AvaloniaParserFactory : IParserFactory { private readonly IRuntimeTypeSource runtimeTypeSource; @@ -38,4 +39,5 @@ namespace Avalonia.Markup.Xaml.Context return new XmlParser(phaseParserKit); } } +#endif } \ No newline at end of file diff --git a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaTypeFeatureProvider.cs b/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaTypeFeatureProvider.cs index fcb5703f83..7828934a62 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaTypeFeatureProvider.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaTypeFeatureProvider.cs @@ -171,7 +171,7 @@ namespace Avalonia.Markup.Xaml.Context RegisterTypeConverter(typeof(SolidColorBrush), new BrushTypeConverter()); RegisterTypeConverter(typeof(Thickness), new ThicknessTypeConverter()); RegisterTypeConverter(typeof(TimeSpan), new TimeSpanTypeConverter()); - RegisterTypeConverter(typeof(Uri), new UriTypeConverter()); + RegisterTypeConverter(typeof(Uri), new Converters.UriTypeConverter()); RegisterTypeConverter(typeof(Cursor), new CursorTypeConverter()); RegisterTypeConverter(typeof(WindowIcon), new IconTypeConverter()); RegisterTypeConverter(typeof(FontWeight), new FontWeightConverter()); diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaMemberAttributeProvider.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaMemberAttributeProvider.cs new file mode 100644 index 0000000000..b878b860cc --- /dev/null +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaMemberAttributeProvider.cs @@ -0,0 +1,69 @@ +using System; +using System.Linq; +using System.Reflection; +using Avalonia.Markup.Xaml.Templates; +using Portable.Xaml.ComponentModel; +using avm = Avalonia.Metadata; +using pm = Portable.Xaml.Markup; + +namespace Avalonia.Markup.Xaml.PortableXaml +{ + public class AvaloniaMemberAttributeProvider : ICustomAttributeProvider + { + public AvaloniaMemberAttributeProvider(MemberInfo info) + { + _info = info; + } + + public object[] GetCustomAttributes(bool inherit) + { + throw new NotImplementedException(); + } + + public object[] GetCustomAttributes(Type attributeType, bool inherit) + { + object[] result = null; + + if (attributeType == typeof(pm.XamlDeferLoadAttribute)) + { + var attr = GetXamlDeferLoadAttribute(inherit); + + if (attr != null) + { + result = new object[] { attr }; + } + } + + if (result == null || result.Length == 0) + { + var attr = _info.GetCustomAttributes(attributeType, inherit); + return (attr as object[]) ?? attr.ToArray(); + } + else + { + return result; + } + } + + public bool IsDefined(Type attributeType, bool inherit) + { + throw new NotImplementedException(); + } + + private readonly MemberInfo _info; + + private Attribute GetXamlDeferLoadAttribute(bool inherit) + { + var result = _info.GetCustomAttributes(typeof(avm.TemplateContentAttribute), inherit) + .Cast() + .FirstOrDefault(); + + if (result == null) + { + return null; + } + + return new pm.XamlDeferLoadAttribute(typeof(TemplateLoader), typeof(TemplateContent)); + } + } +} \ No newline at end of file diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaNameScope.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaNameScope.cs new file mode 100644 index 0000000000..6f855bafa1 --- /dev/null +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaNameScope.cs @@ -0,0 +1,56 @@ +using System.Collections.Generic; +using Avalonia.Controls; + +namespace Avalonia.Markup.Xaml.PortableXaml +{ + internal class AvaloniaNameScope : Portable.Xaml.Markup.INameScope + { + public object Instance { get; set; } + + private Dictionary _names = new Dictionary(); + + public object FindName(string name) + { + object result; + if (_names.TryGetValue(name, out result)) + return result; + return null; + } + + public void RegisterName(string name, object scopedElement) + { + if (scopedElement != null) + _names.Add(name, scopedElement); + + //TODO: ??? + //var control = scopedElement as Control; + + //if (control != null) + //{ + // var nameScope = (Instance as INameScope) ?? control.FindNameScope(); + + // if (nameScope != null) + // { + // nameScope.Register(name, scopedElement); + // } + //} + } + + public void UnregisterName(string name) + { + } + + public void RegisterOnNameScope(object target) + { + var nameScope = target as INameScope; + + if (nameScope != null) + { + foreach (var v in _names) + { + nameScope.Register(v.Key, v.Value); + } + } + } + } +} \ No newline at end of file diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaRuntimeTypeProvider.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaRuntimeTypeProvider.cs new file mode 100644 index 0000000000..b6ffac69ab --- /dev/null +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaRuntimeTypeProvider.cs @@ -0,0 +1,147 @@ +// Copyright (c) The Avalonia Project. All rights reserved. +// Licensed under the MIT license. See licence.md file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using Avalonia.Controls; +using Avalonia.Markup.Xaml.Templates; +using Avalonia.Media; +using Avalonia.Metadata; +using Avalonia.Platform; +using Avalonia.Styling; + +namespace Avalonia.Markup.Xaml.Context +{ + using ClrNamespaceInfo = Tuple; + + public interface IRuntimeTypeProvider + { + Type FindType(string xamlNamespace, string name, Type[] genArgs); + + IEnumerable ReferencedAssemblies { get; } + } + + public class AvaloniaRuntimeTypeProvider : IRuntimeTypeProvider + { + private const string ClrNamespace = "clr-namespace:"; + // private const string AvaloniaNs = "https://github.com/avaloniaui"; + + private static readonly IEnumerable ForcedAssemblies = new[] + { + typeof(AvaloniaObject).GetTypeInfo().Assembly, + typeof(Control).GetTypeInfo().Assembly, + typeof(Style).GetTypeInfo().Assembly, + typeof(DataTemplate).GetTypeInfo().Assembly, + typeof(SolidColorBrush).GetTypeInfo().Assembly, + typeof(IValueConverter).GetTypeInfo().Assembly, + }; + + private Dictionary> _namespaces = new Dictionary>(); + + private List _scanned = new List(); + + public IEnumerable ReferencedAssemblies => _scanned; + + public AvaloniaRuntimeTypeProvider() + { + ScanAssemblies(ForcedAssemblies); + ScanNewAssemblies(); + } + + private static bool IsClrNamespace(string ns) + { + return ns.StartsWith(ClrNamespace); + } + + private static Assembly GetAssembly(string assemblyName) + { + return Assembly.Load(new AssemblyName(assemblyName)); + } + + private void ScanAssemblies(IEnumerable assemblies) + { + foreach (var assembly in assemblies) + { + var namespaces = assembly.GetCustomAttributes() + .Select(x => new { x.XmlNamespace, x.ClrNamespace }) + .GroupBy(x => x.XmlNamespace); + + foreach (var nsa in namespaces) + { + HashSet reg; + + if (!_namespaces.TryGetValue(nsa.Key, out reg)) + { + _namespaces[nsa.Key] = reg = new HashSet>(); + } + + foreach (var child in nsa) + { + reg.Add(new ClrNamespaceInfo(child.ClrNamespace, assembly)); + } + } + + _scanned.Add(assembly); + } + } + + private void ScanNewAssemblies() + { + IEnumerable assemblies = AvaloniaLocator.Current + .GetService() + ?.GetLoadedAssemblies(); + + if (assemblies != null) + { + assemblies = assemblies.Except(_scanned); + ScanAssemblies(assemblies); + } + } + + private Dictionary _typeCache = new Dictionary(); + + public Type FindType(string xamlNamespace, string name, Type[] genArgs) + { + if (IsClrNamespace(xamlNamespace)) + { + //we need to handle only xaml url namespaces for avalonia, + //the other namespaces are handled well in portable.xaml + return null; + } + + string key = $"{xamlNamespace}:{name}"; + + Type type; + + if (_typeCache.TryGetValue(key, out type)) + { + return type; + } + + HashSet reg; + + if (!_namespaces.TryGetValue(xamlNamespace, out reg)) + { + return null; + } + + if (genArgs != null) + name += "`" + genArgs.Length; + + foreach (var ns in reg) + { + var n = ns.Item1 + "." + name; + var t = ns.Item2.GetType(n); + if (t != null) + { + _typeCache[key] = t; + return t; + } + } + + return null; + } + } +} \ No newline at end of file diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaTypeAttributeProvider.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaTypeAttributeProvider.cs new file mode 100644 index 0000000000..ba470d521d --- /dev/null +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaTypeAttributeProvider.cs @@ -0,0 +1,91 @@ +// Copyright (c) The Perspex Project. All rights reserved. +// Licensed under the MIT license. See licence.md file in the project root for full license information. + +using System; +using System.Linq; +using System.Reflection; +using Avalonia.Metadata; +using Portable.Xaml.ComponentModel; +using pm = Portable.Xaml.Markup; + +namespace Avalonia.Markup.Xaml.PortableXaml +{ + internal class AvaloniaTypeAttributeProvider : ICustomAttributeProvider + { + public AvaloniaTypeAttributeProvider(Type type) + { + _type = type; + } + + public object[] GetCustomAttributes(bool inherit) + { + throw new NotImplementedException(); + } + + public object[] GetCustomAttributes(Type attributeType, bool inherit) + { + if (attributeType == typeof(pm.ContentPropertyAttribute)) + { + var cp = GetContentPropertyAttribute(inherit); + + if (cp != null) + { + return new object[] { cp }; + } + } + else if (attributeType == typeof(pm.RuntimeNamePropertyAttribute)) + { + if (_namedType.IsAssignableFrom(_type.GetTypeInfo())) + { + return new object[] + { + new pm.RuntimeNamePropertyAttribute(nameof(INamed.Name)) + }; + } + } + + var attr = _type.GetTypeInfo().GetCustomAttributes(attributeType, inherit); + return (attr as object[]) ?? attr.ToArray(); + } + + public bool IsDefined(Type attributeType, bool inherit) + { + throw new NotImplementedException(); + } + + private readonly TypeInfo _namedType = typeof(INamed).GetTypeInfo(); + + private readonly Type _type; + + private Attribute GetContentPropertyAttribute(bool inherit) + { + var type = _type; + + while (type != null) + { + var properties = type.GetTypeInfo().DeclaredProperties + .Where(x => x.GetCustomAttribute() != null); + string result = null; + + foreach (var property in properties) + { + if (result != null) + { + throw new Exception($"Content property defined more than once on {type}."); + } + + result = property.Name; + } + + if (result != null) + { + return new pm.ContentPropertyAttribute(result); + } + + type = inherit ? type.GetTypeInfo().BaseType : null; + } + + return null; + } + } +} \ No newline at end of file diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs new file mode 100644 index 0000000000..287e1a140e --- /dev/null +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs @@ -0,0 +1,101 @@ +using Portable.Xaml; + +namespace Avalonia.Markup.Xaml.PortableXaml +{ + public class AvaloniaXamlObjectWriter : XamlObjectWriter + { + public static AvaloniaXamlObjectWriter Create(XamlSchemaContext schemaContext, object instance) + { + var writerSettings = new XamlObjectWriterSettings(); + var nameScope = new AvaloniaNameScope { Instance = instance }; + writerSettings.ExternalNameScope = nameScope; + writerSettings.RegisterNamesOnExternalNamescope = true; + writerSettings.RootObjectInstance = instance; + + return new AvaloniaXamlObjectWriter(schemaContext, writerSettings, nameScope); + } + + private AvaloniaXamlObjectWriter( + XamlSchemaContext schemaContext, + XamlObjectWriterSettings settings, + AvaloniaNameScope nameScope + ) + : base(schemaContext, settings) + { + _nameScope = nameScope; + } + + protected override void OnAfterBeginInit(object value) + { + base.OnAfterBeginInit(value); + } + + protected override void OnAfterEndInit(object value) + { + base.OnAfterEndInit(value); + } + + protected override void OnAfterProperties(object value) + { + base.OnAfterProperties(value); + + //AfterEndInit is not called as it supports only + //Portable.Xaml.ComponentModel.ISupportInitialize + //and we have Avalonia.ISupportInitialize so we need some hacks + _endEditValue = value; + } + + protected override void OnBeforeProperties(object value) + { + //OnAfterBeginInit is not called as it supports only + //Portable.Xaml.ComponentModel.ISupportInitialize + //and we have Avalonia.ISupportInitialize so we need some hacks + HandleBeginInit(value); + + base.OnBeforeProperties(value); + } + + public override void WriteEndObject() + { + base.WriteEndObject(); + + //AfterEndInit is not called as it supports only + //Portable.Xaml.ComponentModel.ISupportInitialize + //and we have Avalonia.ISupportInitialize so we need some hacks + HandleEndEdit(_endEditValue); + _endEditValue = null; + } + + private object _endEditValue; + + private AvaloniaNameScope _nameScope; + + private void HandleBeginInit(object value) + { + (value as Avalonia.ISupportInitialize)?.BeginInit(); + } + + private void HandleEndEdit(object value) + { + (value as Avalonia.ISupportInitialize)?.EndInit(); + } + + private void HandleFinished() + { + if(_nameScope != null && Result != null) + { + _nameScope.RegisterOnNameScope(Result); + } + } + + protected override void Dispose(bool disposing) + { + if (disposing) + { + HandleFinished(); + } + + base.Dispose(disposing); + } + } +} \ No newline at end of file diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs new file mode 100644 index 0000000000..75ca5dff37 --- /dev/null +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs @@ -0,0 +1,70 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using Avalonia.Markup.Xaml.Context; +using Portable.Xaml; +using Portable.Xaml.ComponentModel; + +namespace Avalonia.Markup.Xaml.PortableXaml +{ + internal class AvaloniaXamlSchemaContext : XamlSchemaContext + { + public AvaloniaXamlSchemaContext(IRuntimeTypeProvider typeProvider) + : base(typeProvider.ReferencedAssemblies) + { + _avaloniaTypeProvider = typeProvider; + } + + private IRuntimeTypeProvider _avaloniaTypeProvider; + + protected override XamlType GetXamlType(string xamlNamespace, string name, params XamlType[] typeArguments) + { + XamlType type = null; + try + { + type = ResolveXamlTypeName(xamlNamespace, name, typeArguments, false); + + if (type == null) + { + type = base.GetXamlType(xamlNamespace, name, typeArguments); + } + } + catch(Exception e) + { + //TODO: log or wrap exception + throw e; + } + return type; + } + + private XamlType ResolveXamlTypeName(string xmlNamespace, string xmlLocalName, XamlType[] typeArguments, bool required) + { + Type[] genArgs = null; + if (typeArguments != null && typeArguments.Any()) + { + genArgs = typeArguments.Select(t => t?.UnderlyingType).ToArray(); + + if (genArgs.Any(t => t == null)) + { + return null; + } + } + + Type type = _avaloniaTypeProvider.FindType(xmlNamespace, xmlLocalName, genArgs); + + if (type == null) + { + return null; + } + + return GetXamlType(type); + } + + protected override ICustomAttributeProvider GetCustomAttributeProvider(Type type) + => new AvaloniaTypeAttributeProvider(type); + + protected override ICustomAttributeProvider GetCustomAttributeProvider(MemberInfo member) + => new AvaloniaMemberAttributeProvider(member); + } +} \ No newline at end of file diff --git a/src/Markup/Avalonia.Markup.Xaml/Templates/DataTemplate.cs b/src/Markup/Avalonia.Markup.Xaml/Templates/DataTemplate.cs index 1feaed1b27..a1c77450e8 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Templates/DataTemplate.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Templates/DataTemplate.cs @@ -13,10 +13,14 @@ namespace Avalonia.Markup.Xaml.Templates { public Type DataType { get; set; } + //we need content to be object otherwise portable.xaml is crashing [Content] - public TemplateContent Content { get; set; } + [TemplateContent] + public object Content { get; set; } - public bool SupportsRecycling => true; + private TemplateContent TemplateContent => (TemplateContent)Content; + + public bool SupportsRecycling { get; set; } public bool Match(object data) { @@ -30,6 +34,6 @@ namespace Avalonia.Markup.Xaml.Templates } } - public IControl Build(object data) => Content.Load(); + public IControl Build(object data) => TemplateContent.Load(); } } \ No newline at end of file diff --git a/src/Markup/Avalonia.Markup.Xaml/Templates/TemplateContent.cs b/src/Markup/Avalonia.Markup.Xaml/Templates/TemplateContent.cs index 325b9bf53f..695661a623 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Templates/TemplateContent.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Templates/TemplateContent.cs @@ -2,13 +2,38 @@ // Licensed under the MIT license. See licence.md file in the project root for full license information. using System.Collections.Generic; -using OmniXaml; -using OmniXaml.ObjectAssembler; using Avalonia.Controls; using Avalonia.Markup.Xaml.Context; namespace Avalonia.Markup.Xaml.Templates { +#if !OMNIXAML + using Portable.Xaml; + + public class TemplateContent + { + public TemplateContent() + { + } + + public TemplateContent(XamlReader reader) + { + List = new XamlNodeList(reader.SchemaContext); + XamlServices.Transform(reader, List.Writer); + } + + public XamlNodeList List { get; set; } + + public IControl Load() + { + return (IControl)XamlServices.Load(List.GetReader()); + } + } +#else + + using OmniXaml; + using OmniXaml.ObjectAssembler; + public class TemplateContent { private readonly IEnumerable nodes; @@ -34,4 +59,6 @@ namespace Avalonia.Markup.Xaml.Templates return (Control)assembler.Result; } } + +#endif } \ No newline at end of file diff --git a/src/Markup/Avalonia.Markup.Xaml/Templates/TemplateLoader.cs b/src/Markup/Avalonia.Markup.Xaml/Templates/TemplateLoader.cs index 75f0329629..0f67615527 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Templates/TemplateLoader.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Templates/TemplateLoader.cs @@ -2,10 +2,29 @@ // Licensed under the MIT license. See licence.md file in the project root for full license information. using System.Collections.Generic; -using OmniXaml; namespace Avalonia.Markup.Xaml.Templates { +#if !OMNIXAML + using Portable.Xaml; + using System; + + public class TemplateLoader : XamlDeferringLoader + { + public override object Load(XamlReader xamlReader, IServiceProvider serviceProvider) + { + return new TemplateContent(xamlReader); + } + + public override XamlReader Save(object value, IServiceProvider serviceProvider) + { + return ((TemplateContent)value).List.GetReader(); + } + } +#else + + using OmniXaml; + public class TemplateLoader : IDeferredLoader { public object Load(IEnumerable nodes, IRuntimeTypeSource runtimeTypeSource) @@ -13,4 +32,6 @@ namespace Avalonia.Markup.Xaml.Templates return new TemplateContent(nodes, runtimeTypeSource); } } + +#endif } \ No newline at end of file diff --git a/src/Markup/Avalonia.Markup.Xaml/packages.config b/src/Markup/Avalonia.Markup.Xaml/packages.config index 7a9353bb05..89e19db1dc 100644 --- a/src/Markup/Avalonia.Markup.Xaml/packages.config +++ b/src/Markup/Avalonia.Markup.Xaml/packages.config @@ -1,5 +1,6 @@  + diff --git a/src/Markup/Avalonia.Markup/Avalonia.Markup.csproj b/src/Markup/Avalonia.Markup/Avalonia.Markup.csproj index 5826346fc9..50d5886e10 100644 --- a/src/Markup/Avalonia.Markup/Avalonia.Markup.csproj +++ b/src/Markup/Avalonia.Markup/Avalonia.Markup.csproj @@ -114,6 +114,14 @@ + + ..\..\..\packages\System.ComponentModel.Primitives.4.3.0\lib\netstandard1.0\System.ComponentModel.Primitives.dll + True + + + ..\..\..\packages\System.ComponentModel.TypeConverter.4.3.0\lib\netstandard1.0\System.ComponentModel.TypeConverter.dll + True + ..\..\..\packages\System.Reactive.Core.3.0.0\lib\netstandard1.1\System.Reactive.Core.dll True @@ -134,6 +142,9 @@ + + + + true + + From 880e850000b2770329c7008f5a088a834fa5eeda Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Sun, 23 Jul 2017 02:38:10 +0300 Subject: [PATCH 64/72] Fixed build --- .../Avalonia.Markup.Xaml.csproj | 524 +++++++++--------- .../Context/AvaloniaTypeFeatureProvider.cs | 3 +- .../OmniXamlCompileStubs.cs | 73 +++ .../AvaloniaPropertyConverterTest.cs | 2 +- 4 files changed, 340 insertions(+), 262 deletions(-) create mode 100644 src/Markup/Avalonia.Markup.Xaml/OmniXamlCompileStubs.cs diff --git a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj index 46dbe1566c..4f02a91c0b 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj +++ b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj @@ -35,266 +35,269 @@ prompt MinimumRecommendedRules.ruleset - - - Properties\SharedAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Properties\SharedAssemblyInfo.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -306,6 +309,7 @@ + diff --git a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaTypeFeatureProvider.cs b/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaTypeFeatureProvider.cs index d03fd2e72c..66b44d70a0 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaTypeFeatureProvider.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaTypeFeatureProvider.cs @@ -15,12 +15,13 @@ using Avalonia.Media.Imaging; using Avalonia.Metadata; using Avalonia.Styling; using OmniXaml; +#if OMNIXAML using OmniXaml.Builder; using OmniXaml.TypeConversion; using OmniXaml.TypeConversion.BuiltInConverters; using OmniXaml.Typing; using OmniMetadata = OmniXaml.Typing.Metadata; - +#endif namespace Avalonia.Markup.Xaml.Context { #if OMNIXAML diff --git a/src/Markup/Avalonia.Markup.Xaml/OmniXamlCompileStubs.cs b/src/Markup/Avalonia.Markup.Xaml/OmniXamlCompileStubs.cs new file mode 100644 index 0000000000..d8b5f566c7 --- /dev/null +++ b/src/Markup/Avalonia.Markup.Xaml/OmniXamlCompileStubs.cs @@ -0,0 +1,73 @@ +using System; +using System.Collections.Generic; +using System.Text; +#if !OMNIXAML +namespace OmniXaml +{ + interface ITypeProvider + { + } + + class TypeNotFoundException : Exception + { + public TypeNotFoundException(string m) : base(m) + { + + } + } +} +namespace OmniXaml.Typing +{ + class Stub + { + } +} +namespace OmniXaml.TypeConversion +{ + class Stub + { + } +} +namespace OmniXaml.Builder +{ + class Stub + { + } +} +namespace OmniXaml.ObjectAssembler.Commands +{ + class Stub + { + } +} +namespace OmniXaml.Parsers.ProtoParser +{ + class Stub + { + } +} +namespace OmniXaml.Parsers.Parser +{ + class Stub + { + } +} +namespace OmniXaml.Attributes +{ + class Stub + { + } +} +namespace Glass +{ + class Stub + { + } +} +namespace Glass.Core +{ + class Stub + { + } +} +#endif \ No newline at end of file diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Converters/AvaloniaPropertyConverterTest.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Converters/AvaloniaPropertyConverterTest.cs index b987d6e3e7..665b557b34 100644 --- a/tests/Avalonia.Markup.Xaml.UnitTests/Converters/AvaloniaPropertyConverterTest.cs +++ b/tests/Avalonia.Markup.Xaml.UnitTests/Converters/AvaloniaPropertyConverterTest.cs @@ -9,7 +9,7 @@ using Avalonia.Styling; using Xunit; #if !OMNIXAML - +using System.ComponentModel; using Portable.Xaml.ComponentModel; using Portable.Xaml; using Portable.Xaml.Markup; From b24d46e98ffca3a20e65fe4d5b3a8c5d6f769fcf Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Sun, 23 Jul 2017 02:49:29 +0300 Subject: [PATCH 65/72] Only check for configuration --- src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj index 4f02a91c0b..448bedbb38 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj +++ b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj @@ -5,7 +5,7 @@ false false - + true full false @@ -15,7 +15,7 @@ 4 CS1591 - + pdbonly true bin\Release\ @@ -25,7 +25,7 @@ bin\Release\Avalonia.Markup.Xaml.XML CS1591 - + true bin\DebugOmniXaml\ TRACE;DEBUG;OMNIXAML From 6b9185057928c8efdc0f694a8804398e19e6c1cf Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Sun, 23 Jul 2017 03:08:51 +0300 Subject: [PATCH 66/72] Switched to netstandard1.3 --- packages.cake | 14 +++++++------- src/Avalonia.Animation/Avalonia.Animation.csproj | 2 +- src/Avalonia.Base/Avalonia.Base.csproj | 2 +- src/Avalonia.Controls/Avalonia.Controls.csproj | 2 +- .../Avalonia.HtmlRenderer.csproj | 2 +- src/Avalonia.Input/Avalonia.Input.csproj | 2 +- .../Avalonia.Interactivity.csproj | 2 +- src/Avalonia.Layout/Avalonia.Layout.csproj | 2 +- .../Avalonia.Logging.Serilog.csproj | 2 +- src/Avalonia.ReactiveUI/Avalonia.ReactiveUI.csproj | 2 +- src/Avalonia.Styling/Avalonia.Styling.csproj | 2 +- src/Avalonia.Visuals/Avalonia.Visuals.csproj | 2 +- src/Gtk/Avalonia.Gtk3/Avalonia.Gtk3.csproj | 2 +- src/Markup/Avalonia.Markup/Avalonia.Markup.csproj | 2 +- .../Avalonia.Win32.NetStandard.csproj | 2 +- 15 files changed, 21 insertions(+), 21 deletions(-) diff --git a/packages.cake b/packages.cake index 07c77f64fd..64d512c0a7 100644 --- a/packages.cake +++ b/packages.cake @@ -150,12 +150,12 @@ public class Packages }; var coreLibrariesFiles = coreLibraries.Select((lib) => { - return (FilePath)context.File(lib[0] + lib[1] + "/bin/" + parameters.DirSuffix + "/netstandard1.1/" + lib[1] + lib[2]); + return (FilePath)context.File(lib[0] + lib[1] + "/bin/" + parameters.DirSuffix + "/netstandard1.3/" + lib[1] + lib[2]); }).ToList(); var coreLibrariesNuSpecContent = coreLibrariesFiles.Select((file) => { return new NuSpecContent { - Source = file.FullPath, Target = "lib/netstandard1.1" + Source = file.FullPath, Target = "lib/netstandard1.3" }; }); @@ -231,9 +231,9 @@ public class Packages }, Files = new [] { - new NuSpecContent { Source = "Avalonia.HtmlRenderer.dll", Target = "lib/netstandard1.1" } + new NuSpecContent { Source = "Avalonia.HtmlRenderer.dll", Target = "lib/netstandard1.3" } }, - BasePath = context.Directory("./src/Avalonia.HtmlRenderer/bin/" + parameters.DirSuffix + "/netstandard1.1"), + BasePath = context.Directory("./src/Avalonia.HtmlRenderer/bin/" + parameters.DirSuffix + "/netstandard1.3"), OutputDirectory = parameters.NugetRoot } }; @@ -347,7 +347,7 @@ public class Packages Files = new [] { new NuSpecContent { Source = "Avalonia.Win32/bin/" + parameters.DirSuffix + "/Avalonia.Win32.dll", Target = "lib/net45" }, - new NuSpecContent { Source = "Avalonia.Win32.NetStandard/bin/" + parameters.DirSuffix + "/netstandard1.1/Avalonia.Win32.dll", Target = "lib/netstandard1.1" } + new NuSpecContent { Source = "Avalonia.Win32.NetStandard/bin/" + parameters.DirSuffix + "/netstandard1.3/Avalonia.Win32.dll", Target = "lib/netstandard1.3" } }, BasePath = context.Directory("./src/Windows"), OutputDirectory = parameters.NugetRoot @@ -402,9 +402,9 @@ public class Packages }, Files = new [] { - new NuSpecContent { Source = "Avalonia.Gtk3.dll", Target = "lib/netstandard1.1" } + new NuSpecContent { Source = "Avalonia.Gtk3.dll", Target = "lib/netstandard1.3" } }, - BasePath = context.Directory("./src/Gtk/Avalonia.Gtk3/bin/" + parameters.DirSuffix + "/netstandard1.1"), + BasePath = context.Directory("./src/Gtk/Avalonia.Gtk3/bin/" + parameters.DirSuffix + "/netstandard1.3"), OutputDirectory = parameters.NugetRoot }, /////////////////////////////////////////////////////////////////////////////// diff --git a/src/Avalonia.Animation/Avalonia.Animation.csproj b/src/Avalonia.Animation/Avalonia.Animation.csproj index f02ec2f31c..8f832dabcf 100644 --- a/src/Avalonia.Animation/Avalonia.Animation.csproj +++ b/src/Avalonia.Animation/Avalonia.Animation.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 false diff --git a/src/Avalonia.Base/Avalonia.Base.csproj b/src/Avalonia.Base/Avalonia.Base.csproj index cc458545e2..e0d12ce262 100644 --- a/src/Avalonia.Base/Avalonia.Base.csproj +++ b/src/Avalonia.Base/Avalonia.Base.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 false diff --git a/src/Avalonia.Controls/Avalonia.Controls.csproj b/src/Avalonia.Controls/Avalonia.Controls.csproj index 37f348340c..037546b186 100644 --- a/src/Avalonia.Controls/Avalonia.Controls.csproj +++ b/src/Avalonia.Controls/Avalonia.Controls.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 false diff --git a/src/Avalonia.HtmlRenderer/Avalonia.HtmlRenderer.csproj b/src/Avalonia.HtmlRenderer/Avalonia.HtmlRenderer.csproj index b1fc7a4278..f715217e42 100644 --- a/src/Avalonia.HtmlRenderer/Avalonia.HtmlRenderer.csproj +++ b/src/Avalonia.HtmlRenderer/Avalonia.HtmlRenderer.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 False False false diff --git a/src/Avalonia.Input/Avalonia.Input.csproj b/src/Avalonia.Input/Avalonia.Input.csproj index e9e74e24fe..b5482ebce1 100644 --- a/src/Avalonia.Input/Avalonia.Input.csproj +++ b/src/Avalonia.Input/Avalonia.Input.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 false diff --git a/src/Avalonia.Interactivity/Avalonia.Interactivity.csproj b/src/Avalonia.Interactivity/Avalonia.Interactivity.csproj index ab9ab88a37..9d22de86b3 100644 --- a/src/Avalonia.Interactivity/Avalonia.Interactivity.csproj +++ b/src/Avalonia.Interactivity/Avalonia.Interactivity.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 false diff --git a/src/Avalonia.Layout/Avalonia.Layout.csproj b/src/Avalonia.Layout/Avalonia.Layout.csproj index 45a40d2fd4..d0260391d8 100644 --- a/src/Avalonia.Layout/Avalonia.Layout.csproj +++ b/src/Avalonia.Layout/Avalonia.Layout.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 false diff --git a/src/Avalonia.Logging.Serilog/Avalonia.Logging.Serilog.csproj b/src/Avalonia.Logging.Serilog/Avalonia.Logging.Serilog.csproj index 9aa81c19f9..508ede7f7d 100644 --- a/src/Avalonia.Logging.Serilog/Avalonia.Logging.Serilog.csproj +++ b/src/Avalonia.Logging.Serilog/Avalonia.Logging.Serilog.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 false diff --git a/src/Avalonia.ReactiveUI/Avalonia.ReactiveUI.csproj b/src/Avalonia.ReactiveUI/Avalonia.ReactiveUI.csproj index 28522d8849..2d66b62eab 100644 --- a/src/Avalonia.ReactiveUI/Avalonia.ReactiveUI.csproj +++ b/src/Avalonia.ReactiveUI/Avalonia.ReactiveUI.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 False false diff --git a/src/Avalonia.Styling/Avalonia.Styling.csproj b/src/Avalonia.Styling/Avalonia.Styling.csproj index 5965645391..6bf37b522b 100644 --- a/src/Avalonia.Styling/Avalonia.Styling.csproj +++ b/src/Avalonia.Styling/Avalonia.Styling.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 false diff --git a/src/Avalonia.Visuals/Avalonia.Visuals.csproj b/src/Avalonia.Visuals/Avalonia.Visuals.csproj index dd9a795937..127760d8ac 100644 --- a/src/Avalonia.Visuals/Avalonia.Visuals.csproj +++ b/src/Avalonia.Visuals/Avalonia.Visuals.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 false Avalonia diff --git a/src/Gtk/Avalonia.Gtk3/Avalonia.Gtk3.csproj b/src/Gtk/Avalonia.Gtk3/Avalonia.Gtk3.csproj index 1874d92f4d..d292e99b30 100644 --- a/src/Gtk/Avalonia.Gtk3/Avalonia.Gtk3.csproj +++ b/src/Gtk/Avalonia.Gtk3/Avalonia.Gtk3.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 False false diff --git a/src/Markup/Avalonia.Markup/Avalonia.Markup.csproj b/src/Markup/Avalonia.Markup/Avalonia.Markup.csproj index 831c0384d3..3d16196b70 100644 --- a/src/Markup/Avalonia.Markup/Avalonia.Markup.csproj +++ b/src/Markup/Avalonia.Markup/Avalonia.Markup.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 false diff --git a/src/Windows/Avalonia.Win32.NetStandard/Avalonia.Win32.NetStandard.csproj b/src/Windows/Avalonia.Win32.NetStandard/Avalonia.Win32.NetStandard.csproj index 2c6efb56e2..cedf3c4213 100644 --- a/src/Windows/Avalonia.Win32.NetStandard/Avalonia.Win32.NetStandard.csproj +++ b/src/Windows/Avalonia.Win32.NetStandard/Avalonia.Win32.NetStandard.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 False false Avalonia.Win32 From b390e7081d194fe6c0205e4f7e20d40991d06908 Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Sun, 23 Jul 2017 03:28:36 +0300 Subject: [PATCH 67/72] Add portablexaml to inspection whitelist --- build.cake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.cake b/build.cake index cab2ba9b0a..c56089ab55 100644 --- a/build.cake +++ b/build.cake @@ -403,7 +403,8 @@ Task("Inspect") { var badIssues = new []{"PossibleNullReferenceException"}; var whitelist = new []{"tests", "src\\android", "src\\ios", - "src\\windows\\avalonia.designer", "src\\avalonia.htmlrenderer\\external"}; + "src\\windows\\avalonia.designer", "src\\avalonia.htmlrenderer\\external", + "src\\markup\\avalonia.markup.xaml\\portablexaml\\portable.xaml.github"}; Information("Running code inspections"); From fe7566a5d83bff1a3876d71a8a9da9b4a41279a2 Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Sun, 23 Jul 2017 13:25:51 +0300 Subject: [PATCH 68/72] Build & packaging --- build/Markup.props | 5 +- packages.cake | 54 ++++++++++++++++--- samples/BindingTest/BindingTest.csproj | 12 ----- .../Avalonia.Markup.Xaml.csproj | 4 -- 4 files changed, 50 insertions(+), 25 deletions(-) diff --git a/build/Markup.props b/build/Markup.props index 73f02e92f9..0e4baf5da9 100644 --- a/build/Markup.props +++ b/build/Markup.props @@ -5,6 +5,9 @@ - + + + + diff --git a/packages.cake b/packages.cake index 64d512c0a7..5f268188dc 100644 --- a/packages.cake +++ b/packages.cake @@ -8,6 +8,42 @@ public class Packages public string NugetPackagesDir {get; private set;} public string SkiaSharpVersion {get; private set; } public string SkiaSharpLinuxVersion {get; private set; } + public Dictionary>> PackageVersions{get; private set;} + + + + class DependencyBuilder : List + { + Packages _parent; + public DependencyBuilder(Packages parent) + { + _parent = parent; + } + + string GetVersion(string name) + { + return _parent.PackageVersions[name].First().Item1; + } + + + public DependencyBuilder Dep(string name, params string[] fws) + { + if(fws.Length == 0) + Add(new NuSpecDependency() { Id = name, Version = GetVersion(name) }); + foreach(var fw in fws) + Add(new NuSpecDependency() { Id = name, TargetFramework = fw, Version = GetVersion(name) }); + return this; + } + public DependencyBuilder Deps(string[] fws, params string[] deps) + { + foreach(var fw in fws) + foreach(var name in deps) + Add(new NuSpecDependency() { Id = name, TargetFramework = fw, Version = GetVersion(name) }); + return this; + } + } + + //new NuSpecDependency() { Id = "System.Threading.ThreadPool", TargetFramework = "netcoreapp1.0", Version = "4.3.0" }, public Packages(ICakeContext context, Parameters parameters) { // NUGET NUSPECS @@ -26,7 +62,7 @@ public class Packages // Key: Package Id // Value is Tuple where Item1: Package Version, Item2: The *.csproj/*.props file path. var packageVersions = new Dictionary>>(); - + PackageVersions = packageVersions; System.IO.Directory.EnumerateFiles(((DirectoryPath)context.Directory("./build")).FullPath, "*.props", SearchOption.AllDirectories).ToList().ForEach(fileName => { @@ -195,13 +231,12 @@ public class Packages new NuGetPackSettings() { Id = "Avalonia", - Dependencies = new [] + Dependencies = new DependencyBuilder(this) { new NuSpecDependency() { Id = "Serilog", Version = SerilogVersion }, new NuSpecDependency() { Id = "Splat", Version = SplatVersion }, new NuSpecDependency() { Id = "Sprache", Version = SpracheVersion }, new NuSpecDependency() { Id = "System.Reactive", Version = SystemReactiveVersion }, - new NuSpecDependency() { Id = "System.ValueTuple", Version = SystemValueTupleVersion }, //.NET Core new NuSpecDependency() { Id = "System.Threading.ThreadPool", TargetFramework = "netcoreapp1.0", Version = "4.3.0" }, new NuSpecDependency() { Id = "Microsoft.Extensions.DependencyModel", TargetFramework = "netcoreapp1.0", Version = "1.1.0" }, @@ -210,8 +245,11 @@ public class Packages new NuSpecDependency() { Id = "Serilog", TargetFramework = "netcoreapp1.0", Version = SerilogVersion }, new NuSpecDependency() { Id = "Sprache", TargetFramework = "netcoreapp1.0", Version = SpracheVersion }, new NuSpecDependency() { Id = "System.Reactive", TargetFramework = "netcoreapp1.0", Version = SystemReactiveVersion }, - new NuSpecDependency() { Id = "System.ValueTuple", TargetFramework = "netcoreapp1.0", Version = SystemValueTupleVersion } - }, + } + .Deps(new string[]{null, "netcoreapp1.0"}, + "System.ValueTuple", "System.ComponentModel.TypeConverter", "System.ComponentModel.Primitives", + "System.Runtime.Serialization.Primitives", "System.Xml.XmlDocument") + .ToArray(), Files = coreLibrariesNuSpecContent .Concat(win32CoreLibrariesNuSpecContent).Concat(net45RuntimePlatform) .Concat(netcoreappCoreLibrariesNuSpecContent).Concat(netCoreRuntimePlatform) @@ -460,9 +498,9 @@ public class Packages new NuSpecDependency() { Id = "Avalonia.Skia.Desktop", TargetFramework="net45", Version = parameters.Version }, new NuSpecDependency() { Id = "Avalonia.Gtk3", TargetFramework="net45", Version = parameters.Version }, //.NET Core - new NuSpecDependency() { Id = "Avalonia.Win32", TargetFramework="netcoreapp1.1", Version = parameters.Version }, - new NuSpecDependency() { Id = "Avalonia.Skia.Desktop", TargetFramework="netcoreapp1.1", Version = parameters.Version }, - new NuSpecDependency() { Id = "Avalonia.Gtk3", TargetFramework="netcoreapp1.1", Version = parameters.Version } + new NuSpecDependency() { Id = "Avalonia.Win32", TargetFramework="netcoreapp1.0", Version = parameters.Version }, + new NuSpecDependency() { Id = "Avalonia.Skia.Desktop", TargetFramework="netcoreapp1.0", Version = parameters.Version }, + new NuSpecDependency() { Id = "Avalonia.Gtk3", TargetFramework="netcoreapp1.0", Version = parameters.Version } }, Files = new NuSpecContent[] { diff --git a/samples/BindingTest/BindingTest.csproj b/samples/BindingTest/BindingTest.csproj index 013c286387..8e78b0c2cd 100644 --- a/samples/BindingTest/BindingTest.csproj +++ b/samples/BindingTest/BindingTest.csproj @@ -41,18 +41,6 @@ - - ..\..\packages\System.Reactive.Core.3.0.0\lib\net45\System.Reactive.Core.dll - True - - - ..\..\packages\System.Reactive.Interfaces.3.0.0\lib\net45\System.Reactive.Interfaces.dll - True - - - ..\..\packages\System.Reactive.Linq.3.0.0\lib\net45\System.Reactive.Linq.dll - True - diff --git a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj index 448bedbb38..0ecab9c92c 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj +++ b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj @@ -308,10 +308,6 @@ - - - - From 9134723eefd1486c0cbca567b78dd26833326a29 Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Sun, 23 Jul 2017 14:20:59 +0300 Subject: [PATCH 69/72] Dead code elimination --- .gitmodules | 6 - Avalonia.sln | 590 ------------------ .../DesignerAssist.cs | 2 - .../Avalonia.Markup.Xaml.csproj | 206 ------ .../AvaloniaXamlLoader.cs | 7 +- .../AvaloniaXamlLoaderOmniXaml.cs | 227 ------- .../Context/AvaloniaAttachableXamlMember.cs | 35 -- .../AvaloniaContentPropertyProvider.cs | 58 -- .../Context/AvaloniaLifeCycleListener.cs | 33 - .../Context/AvaloniaMemberValuePlugin.cs | 27 - .../Context/AvaloniaNamespaceRegistry.cs | 183 ------ .../Context/AvaloniaObjectAssembler.cs | 81 --- .../Context/AvaloniaParserFactory.cs | 43 -- .../Context/AvaloniaRuntimeTypeSource.cs | 93 --- .../Context/AvaloniaTypeFeatureProvider.cs | 183 ------ .../Context/AvaloniaTypeRepository.cs | 30 - .../Context/AvaloniaWiringContext.cs | 126 ---- .../Context/AvaloniaXamlMember.cs | 33 - .../Context/AvaloniaXamlType.cs | 63 -- .../Context/NameScopeWrapper.cs | 32 - .../Context/PropertyAccessor.cs | 176 ------ .../Converters/AvaloniaListTypeConverter.cs | 46 -- .../AvaloniaPropertyTypeConverter.cs | 91 --- .../Converters/BitmapTypeConverter.cs | 49 -- .../Converters/BrushTypeConverter.cs | 30 - .../Converters/ClassesTypeConverter.cs | 36 +- .../Converters/ColorTypeConverter.cs | 36 +- .../ColumnDefinitionsTypeConverter.cs | 31 - .../Converters/CursorTypeConverter.cs | 33 - .../Converters/DateTimeTypeConverter.cs | 63 -- .../Converters/FontWeightConverter.cs | 44 -- .../Converters/GeometryTypeConverter.cs | 31 - .../Converters/GridLengthTypeConverter.cs | 31 - .../Converters/IconTypeConverter.cs | 64 -- .../Converters/KeyGestureConverter.cs | 31 - .../Converters/MemberSelectorTypeConverter.cs | 34 - .../Converters/PointTypeConverter.cs | 31 - .../Converters/PointsListTypeConverter.cs | 38 -- .../Converters/RelativePointTypeConverter.cs | 31 - .../Converters/RelativeRectTypeConverter.cs | 31 - .../Converters/RowDefinitionsTypeConverter.cs | 31 - .../Converters/SelectorTypeConverter.cs | 32 - .../Converters/SizeTypeConverter.cs | 31 - .../Converters/ThicknessTypeConverter.cs | 31 - .../Converters/TimeSpanTypeConverter.cs | 40 -- .../Converters/UriTypeConverter.cs | 34 - .../Data/SourceBindingEndpoint.cs | 29 - .../Data/TargetBindingEndpoint.cs | 20 - .../MarkupExtensions/BindingExtension.cs | 42 -- .../RelativeSourceExtension.cs | 29 - .../Standard/StaticExtension.cs | 88 --- .../Standard/TypeExtension.cs | 51 -- .../MarkupExtensions/StaticExtension.cs | 86 +-- .../MarkupExtensions/StyleIncludeExtension.cs | 5 - .../StyleResourceExtension.cs | 22 - .../TemplateBindingExtension.cs | 39 -- .../MarkupExtensions/TypeExtension.cs | 50 -- src/Markup/Avalonia.Markup.Xaml/OmniXAML | 1 - .../OmniXamlCompileStubs.cs | 73 --- .../Styling/StyleInclude.cs | 13 - .../Templates/TemplateContent.cs | 39 -- .../Templates/TemplateLoader.cs | 17 - src/Markup/Avalonia.Markup.Xaml/glass | 1 - .../Avalonia.Markup.Xaml.UnitTests.csproj | 7 - .../Context/AvaloniaNamespaceRegistryTest.cs | 28 - .../AvaloniaPropertyConverterTest.cs | 33 +- .../Xaml/BasicTests.cs | 5 +- .../Xaml/BindingTests.cs | 5 +- 68 files changed, 9 insertions(+), 3888 deletions(-) delete mode 100644 src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderOmniXaml.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaAttachableXamlMember.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaContentPropertyProvider.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaLifeCycleListener.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaMemberValuePlugin.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaNamespaceRegistry.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaObjectAssembler.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaParserFactory.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaRuntimeTypeSource.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaTypeFeatureProvider.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaTypeRepository.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaWiringContext.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaXamlMember.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaXamlType.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Context/NameScopeWrapper.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Context/PropertyAccessor.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Converters/DateTimeTypeConverter.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Converters/FontWeightConverter.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Converters/UriTypeConverter.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Data/SourceBindingEndpoint.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/Data/TargetBindingEndpoint.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/Standard/StaticExtension.cs delete mode 100644 src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/Standard/TypeExtension.cs delete mode 160000 src/Markup/Avalonia.Markup.Xaml/OmniXAML delete mode 100644 src/Markup/Avalonia.Markup.Xaml/OmniXamlCompileStubs.cs delete mode 160000 src/Markup/Avalonia.Markup.Xaml/glass delete mode 100644 tests/Avalonia.Markup.Xaml.UnitTests/Context/AvaloniaNamespaceRegistryTest.cs diff --git a/.gitmodules b/.gitmodules index 8d13c6572c..bdd5d5ca4d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,12 +5,6 @@ path = src/Avalonia.HtmlRenderer/external url = https://github.com/AvaloniaUI/HTML-Renderer.git branch = perspex-pcl -[submodule "src/Markup/Avalonia.Markup.Xaml/OmniXAML"] - path = src/Markup/Avalonia.Markup.Xaml/OmniXAML - url = https://github.com/AvaloniaUI/OmniXAML.git -[submodule "src/Markup/Avalonia.Markup.Xaml/glass"] - path = src/Markup/Avalonia.Markup.Xaml/glass - url = https://github.com/SuperJMN/glass [submodule "src/Markup/Avalonia.Markup.Xaml/PortableXaml/portable.xaml.github"] path = src/Markup/Avalonia.Markup.Xaml/PortableXaml/portable.xaml.github url = https://github.com/cwensley/Portable.Xaml.git diff --git a/Avalonia.sln b/Avalonia.sln index 453af8c59b..5c344e4b90 100644 --- a/Avalonia.sln +++ b/Avalonia.sln @@ -236,11 +236,6 @@ Global Debug|iPhoneSimulator = Debug|iPhoneSimulator Debug|Mono = Debug|Mono Debug|x86 = Debug|x86 - DebugOmniXaml|Any CPU = DebugOmniXaml|Any CPU - DebugOmniXaml|iPhone = DebugOmniXaml|iPhone - DebugOmniXaml|iPhoneSimulator = DebugOmniXaml|iPhoneSimulator - DebugOmniXaml|Mono = DebugOmniXaml|Mono - DebugOmniXaml|x86 = DebugOmniXaml|x86 Release|Any CPU = Release|Any CPU Release|iPhone = Release|iPhone Release|iPhoneSimulator = Release|iPhoneSimulator @@ -276,16 +271,6 @@ Global {B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Debug|Mono.Build.0 = Debug|Any CPU {B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Debug|x86.ActiveCfg = Debug|Any CPU {B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Debug|x86.Build.0 = Debug|Any CPU - {B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Release|Any CPU.ActiveCfg = Release|Any CPU {B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Release|Any CPU.Build.0 = Release|Any CPU {B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -324,16 +309,6 @@ Global {EB582467-6ABB-43A1-B052-E981BA910E3A}.Debug|Mono.Build.0 = Debug|Any CPU {EB582467-6ABB-43A1-B052-E981BA910E3A}.Debug|x86.ActiveCfg = Debug|Any CPU {EB582467-6ABB-43A1-B052-E981BA910E3A}.Debug|x86.Build.0 = Debug|Any CPU - {EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {EB582467-6ABB-43A1-B052-E981BA910E3A}.Release|Any CPU.ActiveCfg = Release|Any CPU {EB582467-6ABB-43A1-B052-E981BA910E3A}.Release|Any CPU.Build.0 = Release|Any CPU {EB582467-6ABB-43A1-B052-E981BA910E3A}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -372,16 +347,6 @@ Global {42472427-4774-4C81-8AFF-9F27B8E31721}.Debug|Mono.Build.0 = Debug|Any CPU {42472427-4774-4C81-8AFF-9F27B8E31721}.Debug|x86.ActiveCfg = Debug|Any CPU {42472427-4774-4C81-8AFF-9F27B8E31721}.Debug|x86.Build.0 = Debug|Any CPU - {42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {42472427-4774-4C81-8AFF-9F27B8E31721}.Release|Any CPU.ActiveCfg = Release|Any CPU {42472427-4774-4C81-8AFF-9F27B8E31721}.Release|Any CPU.Build.0 = Release|Any CPU {42472427-4774-4C81-8AFF-9F27B8E31721}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -419,16 +384,6 @@ Global {811A76CF-1CF6-440F-963B-BBE31BD72A82}.Debug|Mono.ActiveCfg = Debug|Any CPU {811A76CF-1CF6-440F-963B-BBE31BD72A82}.Debug|x86.ActiveCfg = Debug|Any CPU {811A76CF-1CF6-440F-963B-BBE31BD72A82}.Debug|x86.Build.0 = Debug|Any CPU - {811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {811A76CF-1CF6-440F-963B-BBE31BD72A82}.Release|Any CPU.ActiveCfg = Release|Any CPU {811A76CF-1CF6-440F-963B-BBE31BD72A82}.Release|Any CPU.Build.0 = Release|Any CPU {811A76CF-1CF6-440F-963B-BBE31BD72A82}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -465,16 +420,6 @@ Global {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Debug|Mono.ActiveCfg = Debug|Any CPU {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Debug|x86.ActiveCfg = Debug|Any CPU {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Debug|x86.Build.0 = Debug|Any CPU - {3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|Any CPU.ActiveCfg = Release|Any CPU {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|Any CPU.Build.0 = Release|Any CPU {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -508,16 +453,6 @@ Global {EC42600F-049B-43FF-AED1-8314D61B2749}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU {EC42600F-049B-43FF-AED1-8314D61B2749}.Debug|Mono.ActiveCfg = Debug|Any CPU {EC42600F-049B-43FF-AED1-8314D61B2749}.Debug|x86.ActiveCfg = Debug|Any CPU - {EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {EC42600F-049B-43FF-AED1-8314D61B2749}.Release|Any CPU.ActiveCfg = Release|Any CPU {EC42600F-049B-43FF-AED1-8314D61B2749}.Release|Any CPU.Build.0 = Release|Any CPU {EC42600F-049B-43FF-AED1-8314D61B2749}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -554,16 +489,6 @@ Global {62024B2D-53EB-4638-B26B-85EEAA54866E}.Debug|Mono.Build.0 = Debug|Any CPU {62024B2D-53EB-4638-B26B-85EEAA54866E}.Debug|x86.ActiveCfg = Debug|Any CPU {62024B2D-53EB-4638-B26B-85EEAA54866E}.Debug|x86.Build.0 = Debug|Any CPU - {62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {62024B2D-53EB-4638-B26B-85EEAA54866E}.Release|Any CPU.ActiveCfg = Release|Any CPU {62024B2D-53EB-4638-B26B-85EEAA54866E}.Release|Any CPU.Build.0 = Release|Any CPU {62024B2D-53EB-4638-B26B-85EEAA54866E}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -602,16 +527,6 @@ Global {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Debug|Mono.Build.0 = Debug|Any CPU {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Debug|x86.ActiveCfg = Debug|Any CPU {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Debug|x86.Build.0 = Debug|Any CPU - {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Release|Any CPU.ActiveCfg = Release|Any CPU {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Release|Any CPU.Build.0 = Release|Any CPU {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -650,16 +565,6 @@ Global {D2221C82-4A25-4583-9B43-D791E3F6820C}.Debug|Mono.Build.0 = Debug|Any CPU {D2221C82-4A25-4583-9B43-D791E3F6820C}.Debug|x86.ActiveCfg = Debug|Any CPU {D2221C82-4A25-4583-9B43-D791E3F6820C}.Debug|x86.Build.0 = Debug|Any CPU - {D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {D2221C82-4A25-4583-9B43-D791E3F6820C}.Release|Any CPU.ActiveCfg = Release|Any CPU {D2221C82-4A25-4583-9B43-D791E3F6820C}.Release|Any CPU.Build.0 = Release|Any CPU {D2221C82-4A25-4583-9B43-D791E3F6820C}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -698,16 +603,6 @@ Global {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Debug|Mono.Build.0 = Debug|Any CPU {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Debug|x86.ActiveCfg = Debug|Any CPU {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Debug|x86.Build.0 = Debug|Any CPU - {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Release|Any CPU.ActiveCfg = Release|Any CPU {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Release|Any CPU.Build.0 = Release|Any CPU {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -746,16 +641,6 @@ Global {3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.Debug|Mono.Build.0 = Debug|Any CPU {3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.Debug|x86.ActiveCfg = Debug|Any CPU {3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.Debug|x86.Build.0 = Debug|Any CPU - {3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.Release|Any CPU.ActiveCfg = Release|Any CPU {3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.Release|Any CPU.Build.0 = Release|Any CPU {3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -794,16 +679,6 @@ Global {7062AE20-5DCC-4442-9645-8195BDECE63E}.Debug|Mono.Build.0 = Debug|Any CPU {7062AE20-5DCC-4442-9645-8195BDECE63E}.Debug|x86.ActiveCfg = Debug|Any CPU {7062AE20-5DCC-4442-9645-8195BDECE63E}.Debug|x86.Build.0 = Debug|Any CPU - {7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {7062AE20-5DCC-4442-9645-8195BDECE63E}.Release|Any CPU.ActiveCfg = Release|Any CPU {7062AE20-5DCC-4442-9645-8195BDECE63E}.Release|Any CPU.Build.0 = Release|Any CPU {7062AE20-5DCC-4442-9645-8195BDECE63E}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -842,16 +717,6 @@ Global {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Debug|Mono.Build.0 = Debug|Any CPU {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Debug|x86.ActiveCfg = Debug|Any CPU {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Debug|x86.Build.0 = Debug|Any CPU - {D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Release|Any CPU.ActiveCfg = Release|Any CPU {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Release|Any CPU.Build.0 = Release|Any CPU {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -890,16 +755,6 @@ Global {47ECDF59-DEF8-4C53-87B1-2098A3429059}.Debug|Mono.Build.0 = Debug|Any CPU {47ECDF59-DEF8-4C53-87B1-2098A3429059}.Debug|x86.ActiveCfg = Debug|Any CPU {47ECDF59-DEF8-4C53-87B1-2098A3429059}.Debug|x86.Build.0 = Debug|Any CPU - {47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {47ECDF59-DEF8-4C53-87B1-2098A3429059}.Release|Any CPU.ActiveCfg = Release|Any CPU {47ECDF59-DEF8-4C53-87B1-2098A3429059}.Release|Any CPU.Build.0 = Release|Any CPU {47ECDF59-DEF8-4C53-87B1-2098A3429059}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -938,16 +793,6 @@ Global {5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.Debug|Mono.Build.0 = Debug|Any CPU {5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.Debug|x86.ActiveCfg = Debug|Any CPU {5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.Debug|x86.Build.0 = Debug|Any CPU - {5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.Release|Any CPU.ActiveCfg = Release|Any CPU {5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.Release|Any CPU.Build.0 = Release|Any CPU {5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -986,16 +831,6 @@ Global {76716382-3159-460E-BDA6-C5715CF606D7}.Debug|Mono.Build.0 = Debug|Any CPU {76716382-3159-460E-BDA6-C5715CF606D7}.Debug|x86.ActiveCfg = Debug|Any CPU {76716382-3159-460E-BDA6-C5715CF606D7}.Debug|x86.Build.0 = Debug|Any CPU - {76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {76716382-3159-460E-BDA6-C5715CF606D7}.Release|Any CPU.ActiveCfg = Release|Any CPU {76716382-3159-460E-BDA6-C5715CF606D7}.Release|Any CPU.Build.0 = Release|Any CPU {76716382-3159-460E-BDA6-C5715CF606D7}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1034,16 +869,6 @@ Global {2905FF23-53FB-45E6-AA49-6AF47A172056}.Debug|Mono.Build.0 = Debug|Any CPU {2905FF23-53FB-45E6-AA49-6AF47A172056}.Debug|x86.ActiveCfg = Debug|Any CPU {2905FF23-53FB-45E6-AA49-6AF47A172056}.Debug|x86.Build.0 = Debug|Any CPU - {2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {2905FF23-53FB-45E6-AA49-6AF47A172056}.Release|Any CPU.ActiveCfg = Release|Any CPU {2905FF23-53FB-45E6-AA49-6AF47A172056}.Release|Any CPU.Build.0 = Release|Any CPU {2905FF23-53FB-45E6-AA49-6AF47A172056}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1082,16 +907,6 @@ Global {DB070A10-BF39-4752-8456-86E9D5928478}.Debug|Mono.Build.0 = Debug|Any CPU {DB070A10-BF39-4752-8456-86E9D5928478}.Debug|x86.ActiveCfg = Debug|Any CPU {DB070A10-BF39-4752-8456-86E9D5928478}.Debug|x86.Build.0 = Debug|Any CPU - {DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {DB070A10-BF39-4752-8456-86E9D5928478}.Release|Any CPU.ActiveCfg = Release|Any CPU {DB070A10-BF39-4752-8456-86E9D5928478}.Release|Any CPU.Build.0 = Release|Any CPU {DB070A10-BF39-4752-8456-86E9D5928478}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1130,16 +945,6 @@ Global {08478EF5-44E8-42E9-92D6-15E00EC038D8}.Debug|Mono.Build.0 = Debug|Any CPU {08478EF5-44E8-42E9-92D6-15E00EC038D8}.Debug|x86.ActiveCfg = Debug|Any CPU {08478EF5-44E8-42E9-92D6-15E00EC038D8}.Debug|x86.Build.0 = Debug|Any CPU - {08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {08478EF5-44E8-42E9-92D6-15E00EC038D8}.Release|Any CPU.ActiveCfg = Release|Any CPU {08478EF5-44E8-42E9-92D6-15E00EC038D8}.Release|Any CPU.Build.0 = Release|Any CPU {08478EF5-44E8-42E9-92D6-15E00EC038D8}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1177,16 +982,6 @@ Global {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Debug|Mono.ActiveCfg = Debug|Any CPU {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Debug|x86.ActiveCfg = Debug|Any CPU {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Debug|x86.Build.0 = Debug|Any CPU - {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Release|Any CPU.ActiveCfg = Release|Any CPU {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Release|Any CPU.Build.0 = Release|Any CPU {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1224,16 +1019,6 @@ Global {AC18926A-E784-40FE-B09D-BB0FE2B599F0}.Debug|Mono.Build.0 = Debug|Any CPU {AC18926A-E784-40FE-B09D-BB0FE2B599F0}.Debug|x86.ActiveCfg = Debug|Any CPU {AC18926A-E784-40FE-B09D-BB0FE2B599F0}.Debug|x86.Build.0 = Debug|Any CPU - {AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {AC18926A-E784-40FE-B09D-BB0FE2B599F0}.Release|Any CPU.ActiveCfg = Release|Any CPU {AC18926A-E784-40FE-B09D-BB0FE2B599F0}.Release|Any CPU.Build.0 = Release|Any CPU {AC18926A-E784-40FE-B09D-BB0FE2B599F0}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1271,16 +1056,6 @@ Global {EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.Debug|Mono.ActiveCfg = Debug|Any CPU {EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.Debug|x86.ActiveCfg = Debug|Any CPU {EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.Debug|x86.Build.0 = Debug|Any CPU - {EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.Release|Any CPU.ActiveCfg = Release|Any CPU {EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.Release|Any CPU.Build.0 = Release|Any CPU {EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1318,16 +1093,6 @@ Global {E106CF37-4066-4615-B684-172A6D30B058}.Debug|Mono.Build.0 = Debug|Any CPU {E106CF37-4066-4615-B684-172A6D30B058}.Debug|x86.ActiveCfg = Debug|Any CPU {E106CF37-4066-4615-B684-172A6D30B058}.Debug|x86.Build.0 = Debug|Any CPU - {E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {E106CF37-4066-4615-B684-172A6D30B058}.Release|Any CPU.ActiveCfg = Release|Any CPU {E106CF37-4066-4615-B684-172A6D30B058}.Release|Any CPU.Build.0 = Release|Any CPU {E106CF37-4066-4615-B684-172A6D30B058}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1366,16 +1131,6 @@ Global {99135EAB-653D-47E4-A378-C96E1278CA44}.Debug|Mono.Build.0 = Debug|Any CPU {99135EAB-653D-47E4-A378-C96E1278CA44}.Debug|x86.ActiveCfg = Debug|Any CPU {99135EAB-653D-47E4-A378-C96E1278CA44}.Debug|x86.Build.0 = Debug|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {99135EAB-653D-47E4-A378-C96E1278CA44}.Release|Any CPU.ActiveCfg = Release|Any CPU {99135EAB-653D-47E4-A378-C96E1278CA44}.Release|Any CPU.Build.0 = Release|Any CPU {99135EAB-653D-47E4-A378-C96E1278CA44}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1414,16 +1169,6 @@ Global {3E53A01A-B331-47F3-B828-4A5717E77A24}.Debug|Mono.Build.0 = Debug|Any CPU {3E53A01A-B331-47F3-B828-4A5717E77A24}.Debug|x86.ActiveCfg = Debug|Any CPU {3E53A01A-B331-47F3-B828-4A5717E77A24}.Debug|x86.Build.0 = Debug|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {3E53A01A-B331-47F3-B828-4A5717E77A24}.Release|Any CPU.ActiveCfg = Release|Any CPU {3E53A01A-B331-47F3-B828-4A5717E77A24}.Release|Any CPU.Build.0 = Release|Any CPU {3E53A01A-B331-47F3-B828-4A5717E77A24}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1462,16 +1207,6 @@ Global {54F237D5-A70A-4752-9656-0C70B1A7B047}.Debug|Mono.Build.0 = Debug|Any CPU {54F237D5-A70A-4752-9656-0C70B1A7B047}.Debug|x86.ActiveCfg = Debug|Any CPU {54F237D5-A70A-4752-9656-0C70B1A7B047}.Debug|x86.Build.0 = Debug|Any CPU - {54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {54F237D5-A70A-4752-9656-0C70B1A7B047}.Release|Any CPU.ActiveCfg = Release|Any CPU {54F237D5-A70A-4752-9656-0C70B1A7B047}.Release|Any CPU.Build.0 = Release|Any CPU {54F237D5-A70A-4752-9656-0C70B1A7B047}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1510,16 +1245,6 @@ Global {FB05AC90-89BA-4F2F-A924-F37875FB547C}.Debug|Mono.Build.0 = Debug|Any CPU {FB05AC90-89BA-4F2F-A924-F37875FB547C}.Debug|x86.ActiveCfg = Debug|Any CPU {FB05AC90-89BA-4F2F-A924-F37875FB547C}.Debug|x86.Build.0 = Debug|Any CPU - {FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {FB05AC90-89BA-4F2F-A924-F37875FB547C}.Release|Any CPU.ActiveCfg = Release|Any CPU {FB05AC90-89BA-4F2F-A924-F37875FB547C}.Release|Any CPU.Build.0 = Release|Any CPU {FB05AC90-89BA-4F2F-A924-F37875FB547C}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1558,16 +1283,6 @@ Global {6417B24E-49C2-4985-8DB2-3AB9D898EC91}.Debug|Mono.Build.0 = Debug|Any CPU {6417B24E-49C2-4985-8DB2-3AB9D898EC91}.Debug|x86.ActiveCfg = Debug|Any CPU {6417B24E-49C2-4985-8DB2-3AB9D898EC91}.Debug|x86.Build.0 = Debug|Any CPU - {6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {6417B24E-49C2-4985-8DB2-3AB9D898EC91}.Release|Any CPU.ActiveCfg = Release|Any CPU {6417B24E-49C2-4985-8DB2-3AB9D898EC91}.Release|Any CPU.Build.0 = Release|Any CPU {6417B24E-49C2-4985-8DB2-3AB9D898EC91}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1606,16 +1321,6 @@ Global {5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.Debug|Mono.Build.0 = Debug|Any CPU {5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.Debug|x86.ActiveCfg = Debug|Any CPU {5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.Debug|x86.Build.0 = Debug|Any CPU - {5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.Release|Any CPU.ActiveCfg = Release|Any CPU {5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.Release|Any CPU.Build.0 = Release|Any CPU {5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1654,16 +1359,6 @@ Global {6417E941-21BC-467B-A771-0DE389353CE6}.Debug|Mono.Build.0 = Debug|Any CPU {6417E941-21BC-467B-A771-0DE389353CE6}.Debug|x86.ActiveCfg = Debug|Any CPU {6417E941-21BC-467B-A771-0DE389353CE6}.Debug|x86.Build.0 = Debug|Any CPU - {6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {6417E941-21BC-467B-A771-0DE389353CE6}.Release|Any CPU.ActiveCfg = Release|Any CPU {6417E941-21BC-467B-A771-0DE389353CE6}.Release|Any CPU.Build.0 = Release|Any CPU {6417E941-21BC-467B-A771-0DE389353CE6}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1702,16 +1397,6 @@ Global {8EF392D5-1416-45AA-9956-7CBBC3229E8A}.Debug|Mono.Build.0 = Debug|Any CPU {8EF392D5-1416-45AA-9956-7CBBC3229E8A}.Debug|x86.ActiveCfg = Debug|Any CPU {8EF392D5-1416-45AA-9956-7CBBC3229E8A}.Debug|x86.Build.0 = Debug|Any CPU - {8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {8EF392D5-1416-45AA-9956-7CBBC3229E8A}.Release|Any CPU.ActiveCfg = Release|Any CPU {8EF392D5-1416-45AA-9956-7CBBC3229E8A}.Release|Any CPU.Build.0 = Release|Any CPU {8EF392D5-1416-45AA-9956-7CBBC3229E8A}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1750,16 +1435,6 @@ Global {08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.Debug|Mono.Build.0 = Debug|Any CPU {08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.Debug|x86.ActiveCfg = Debug|Any CPU {08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.Debug|x86.Build.0 = Debug|Any CPU - {08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.Release|Any CPU.ActiveCfg = Release|Any CPU {08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.Release|Any CPU.Build.0 = Release|Any CPU {08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1797,16 +1472,6 @@ Global {925DD807-B651-475F-9F7C-CBEB974CE43D}.Debug|Mono.ActiveCfg = Debug|Any CPU {925DD807-B651-475F-9F7C-CBEB974CE43D}.Debug|x86.ActiveCfg = Debug|x86 {925DD807-B651-475F-9F7C-CBEB974CE43D}.Debug|x86.Build.0 = Debug|x86 - {925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|x86.ActiveCfg = Debug|x86 - {925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|x86.Build.0 = Debug|x86 {925DD807-B651-475F-9F7C-CBEB974CE43D}.Release|Any CPU.ActiveCfg = Release|x86 {925DD807-B651-475F-9F7C-CBEB974CE43D}.Release|Any CPU.Build.0 = Release|x86 {925DD807-B651-475F-9F7C-CBEB974CE43D}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1841,11 +1506,6 @@ Global {BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.Debug|Mono.ActiveCfg = Debug|Any CPU {BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.Debug|x86.ActiveCfg = Debug|Any CPU {BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.Debug|x86.Build.0 = Debug|Any CPU - {BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU {BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.Release|Any CPU.ActiveCfg = Release|Any CPU {BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.Release|Any CPU.Build.0 = Release|Any CPU {BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1880,11 +1540,6 @@ Global {47BE08A7-5985-410B-9FFC-2264B8EA595F}.Debug|Mono.ActiveCfg = Debug|Any CPU {47BE08A7-5985-410B-9FFC-2264B8EA595F}.Debug|x86.ActiveCfg = Debug|Any CPU {47BE08A7-5985-410B-9FFC-2264B8EA595F}.Debug|x86.Build.0 = Debug|Any CPU - {47BE08A7-5985-410B-9FFC-2264B8EA595F}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {47BE08A7-5985-410B-9FFC-2264B8EA595F}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {47BE08A7-5985-410B-9FFC-2264B8EA595F}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {47BE08A7-5985-410B-9FFC-2264B8EA595F}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {47BE08A7-5985-410B-9FFC-2264B8EA595F}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU {47BE08A7-5985-410B-9FFC-2264B8EA595F}.Release|Any CPU.ActiveCfg = Release|Any CPU {47BE08A7-5985-410B-9FFC-2264B8EA595F}.Release|Any CPU.Build.0 = Release|Any CPU {47BE08A7-5985-410B-9FFC-2264B8EA595F}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1913,11 +1568,6 @@ Global {7B92AF71-6287-4693-9DCB-BD5B6E927E23}.Debug|Mono.ActiveCfg = Debug|Any CPU {7B92AF71-6287-4693-9DCB-BD5B6E927E23}.Debug|x86.ActiveCfg = Debug|Any CPU {7B92AF71-6287-4693-9DCB-BD5B6E927E23}.Debug|x86.Build.0 = Debug|Any CPU - {7B92AF71-6287-4693-9DCB-BD5B6E927E23}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {7B92AF71-6287-4693-9DCB-BD5B6E927E23}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {7B92AF71-6287-4693-9DCB-BD5B6E927E23}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {7B92AF71-6287-4693-9DCB-BD5B6E927E23}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {7B92AF71-6287-4693-9DCB-BD5B6E927E23}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU {7B92AF71-6287-4693-9DCB-BD5B6E927E23}.Release|Any CPU.ActiveCfg = Release|Any CPU {7B92AF71-6287-4693-9DCB-BD5B6E927E23}.Release|Any CPU.Build.0 = Release|Any CPU {7B92AF71-6287-4693-9DCB-BD5B6E927E23}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -1942,11 +1592,6 @@ Global {FF69B927-C545-49AE-8E16-3D14D621AA12}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU {FF69B927-C545-49AE-8E16-3D14D621AA12}.Debug|Mono.ActiveCfg = Debug|Any CPU {FF69B927-C545-49AE-8E16-3D14D621AA12}.Debug|x86.ActiveCfg = Debug|Any CPU - {FF69B927-C545-49AE-8E16-3D14D621AA12}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {FF69B927-C545-49AE-8E16-3D14D621AA12}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {FF69B927-C545-49AE-8E16-3D14D621AA12}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {FF69B927-C545-49AE-8E16-3D14D621AA12}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {FF69B927-C545-49AE-8E16-3D14D621AA12}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU {FF69B927-C545-49AE-8E16-3D14D621AA12}.Release|Any CPU.ActiveCfg = Release|Any CPU {FF69B927-C545-49AE-8E16-3D14D621AA12}.Release|Any CPU.Build.0 = Release|Any CPU {FF69B927-C545-49AE-8E16-3D14D621AA12}.Release|Any CPU.Deploy.0 = Release|Any CPU @@ -1981,16 +1626,6 @@ Global {4488AD85-1495-4809-9AA4-DDFE0A48527E}.Debug|Mono.ActiveCfg = Debug|Any CPU {4488AD85-1495-4809-9AA4-DDFE0A48527E}.Debug|x86.ActiveCfg = Debug|Any CPU {4488AD85-1495-4809-9AA4-DDFE0A48527E}.Debug|x86.Build.0 = Debug|Any CPU - {4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {4488AD85-1495-4809-9AA4-DDFE0A48527E}.Release|Any CPU.ActiveCfg = Release|Any CPU {4488AD85-1495-4809-9AA4-DDFE0A48527E}.Release|Any CPU.Build.0 = Release|Any CPU {4488AD85-1495-4809-9AA4-DDFE0A48527E}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2021,16 +1656,6 @@ Global {8C923867-8A8F-4F6B-8B80-47D9E8436166}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator {8C923867-8A8F-4F6B-8B80-47D9E8436166}.Debug|Mono.ActiveCfg = Debug|iPhoneSimulator {8C923867-8A8F-4F6B-8B80-47D9E8436166}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator - {8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|Any CPU.ActiveCfg = Release|iPhoneSimulator - {8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|Any CPU.Build.0 = Release|iPhoneSimulator - {8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|iPhone.ActiveCfg = Debug|iPhone - {8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|iPhone.Build.0 = Debug|iPhone - {8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator - {8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator - {8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|Mono.ActiveCfg = Release|iPhoneSimulator - {8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|Mono.Build.0 = Release|iPhoneSimulator - {8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|x86.ActiveCfg = Release|iPhoneSimulator - {8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|x86.Build.0 = Release|iPhoneSimulator {8C923867-8A8F-4F6B-8B80-47D9E8436166}.Release|Any CPU.ActiveCfg = Release|iPhone {8C923867-8A8F-4F6B-8B80-47D9E8436166}.Release|iPhone.ActiveCfg = Release|iPhone {8C923867-8A8F-4F6B-8B80-47D9E8436166}.Release|iPhone.Build.0 = Release|iPhone @@ -2065,16 +1690,6 @@ Global {E1AA3DBF-9056-4530-9376-18119A7A3FFE}.Debug|Mono.ActiveCfg = Debug|Any CPU {E1AA3DBF-9056-4530-9376-18119A7A3FFE}.Debug|x86.ActiveCfg = Debug|Any CPU {E1AA3DBF-9056-4530-9376-18119A7A3FFE}.Debug|x86.Build.0 = Debug|Any CPU - {E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {E1AA3DBF-9056-4530-9376-18119A7A3FFE}.Release|Any CPU.ActiveCfg = Release|Any CPU {E1AA3DBF-9056-4530-9376-18119A7A3FFE}.Release|Any CPU.Build.0 = Release|Any CPU {E1AA3DBF-9056-4530-9376-18119A7A3FFE}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2112,16 +1727,6 @@ Global {88060192-33D5-4932-B0F9-8BD2763E857D}.Debug|Mono.Build.0 = Debug|Any CPU {88060192-33D5-4932-B0F9-8BD2763E857D}.Debug|x86.ActiveCfg = Debug|Any CPU {88060192-33D5-4932-B0F9-8BD2763E857D}.Debug|x86.Build.0 = Debug|Any CPU - {88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {88060192-33D5-4932-B0F9-8BD2763E857D}.Release|Any CPU.ActiveCfg = Release|Any CPU {88060192-33D5-4932-B0F9-8BD2763E857D}.Release|Any CPU.Build.0 = Release|Any CPU {88060192-33D5-4932-B0F9-8BD2763E857D}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2160,11 +1765,6 @@ Global {410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.Debug|Mono.Build.0 = Debug|Any CPU {410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.Debug|x86.ActiveCfg = Debug|Any CPU {410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.Debug|x86.Build.0 = Debug|Any CPU - {410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU {410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.Release|Any CPU.ActiveCfg = Release|Any CPU {410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.Release|Any CPU.Build.0 = Release|Any CPU {410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2203,16 +1803,6 @@ Global {B61B66A3-B82D-4875-8001-89D3394FE0C9}.Debug|Mono.Build.0 = Debug|Any CPU {B61B66A3-B82D-4875-8001-89D3394FE0C9}.Debug|x86.ActiveCfg = Debug|Any CPU {B61B66A3-B82D-4875-8001-89D3394FE0C9}.Debug|x86.Build.0 = Debug|Any CPU - {B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {B61B66A3-B82D-4875-8001-89D3394FE0C9}.Release|Any CPU.ActiveCfg = Release|Any CPU {B61B66A3-B82D-4875-8001-89D3394FE0C9}.Release|Any CPU.Build.0 = Release|Any CPU {B61B66A3-B82D-4875-8001-89D3394FE0C9}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2251,16 +1841,6 @@ Global {799A7BB5-3C2C-48B6-85A7-406A12C420DA}.Debug|Mono.Build.0 = Debug|Any CPU {799A7BB5-3C2C-48B6-85A7-406A12C420DA}.Debug|x86.ActiveCfg = Debug|Any CPU {799A7BB5-3C2C-48B6-85A7-406A12C420DA}.Debug|x86.Build.0 = Debug|Any CPU - {799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {799A7BB5-3C2C-48B6-85A7-406A12C420DA}.Release|Any CPU.ActiveCfg = Release|Any CPU {799A7BB5-3C2C-48B6-85A7-406A12C420DA}.Release|Any CPU.Build.0 = Release|Any CPU {799A7BB5-3C2C-48B6-85A7-406A12C420DA}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2299,16 +1879,6 @@ Global {D0A739B9-3C68-4BA6-A328-41606954B6BD}.Debug|Mono.Build.0 = Debug|Any CPU {D0A739B9-3C68-4BA6-A328-41606954B6BD}.Debug|x86.ActiveCfg = Debug|Any CPU {D0A739B9-3C68-4BA6-A328-41606954B6BD}.Debug|x86.Build.0 = Debug|Any CPU - {D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {D0A739B9-3C68-4BA6-A328-41606954B6BD}.Release|Any CPU.ActiveCfg = Release|Any CPU {D0A739B9-3C68-4BA6-A328-41606954B6BD}.Release|Any CPU.Build.0 = Release|Any CPU {D0A739B9-3C68-4BA6-A328-41606954B6BD}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2347,16 +1917,6 @@ Global {2B888490-D14A-4BCA-AB4B-48676FA93C9B}.Debug|Mono.Build.0 = Debug|Any CPU {2B888490-D14A-4BCA-AB4B-48676FA93C9B}.Debug|x86.ActiveCfg = Debug|Any CPU {2B888490-D14A-4BCA-AB4B-48676FA93C9B}.Debug|x86.Build.0 = Debug|Any CPU - {2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {2B888490-D14A-4BCA-AB4B-48676FA93C9B}.Release|Any CPU.ActiveCfg = Release|Any CPU {2B888490-D14A-4BCA-AB4B-48676FA93C9B}.Release|Any CPU.Build.0 = Release|Any CPU {2B888490-D14A-4BCA-AB4B-48676FA93C9B}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2388,11 +1948,6 @@ Global {57E0455D-D565-44BB-B069-EE1AA20F8337}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator {57E0455D-D565-44BB-B069-EE1AA20F8337}.Debug|Mono.ActiveCfg = Debug|iPhoneSimulator {57E0455D-D565-44BB-B069-EE1AA20F8337}.Debug|x86.ActiveCfg = Debug|iPhone - {57E0455D-D565-44BB-B069-EE1AA20F8337}.DebugOmniXaml|Any CPU.ActiveCfg = Release|iPhoneSimulator - {57E0455D-D565-44BB-B069-EE1AA20F8337}.DebugOmniXaml|iPhone.ActiveCfg = Debug|iPhone - {57E0455D-D565-44BB-B069-EE1AA20F8337}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator - {57E0455D-D565-44BB-B069-EE1AA20F8337}.DebugOmniXaml|Mono.ActiveCfg = Release|iPhoneSimulator - {57E0455D-D565-44BB-B069-EE1AA20F8337}.DebugOmniXaml|x86.ActiveCfg = Release|iPhoneSimulator {57E0455D-D565-44BB-B069-EE1AA20F8337}.Release|Any CPU.ActiveCfg = Release|iPhone {57E0455D-D565-44BB-B069-EE1AA20F8337}.Release|iPhone.ActiveCfg = Release|iPhone {57E0455D-D565-44BB-B069-EE1AA20F8337}.Release|iPhone.Build.0 = Release|iPhone @@ -2427,16 +1982,6 @@ Global {D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.Debug|Mono.ActiveCfg = Debug|Any CPU {D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.Debug|x86.ActiveCfg = Debug|x86 {D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.Debug|x86.Build.0 = Debug|x86 - {D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|x86.ActiveCfg = Debug|x86 - {D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|x86.Build.0 = Debug|x86 {D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.Release|Any CPU.ActiveCfg = Release|x86 {D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.Release|Any CPU.Build.0 = Release|x86 {D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2473,16 +2018,6 @@ Global {52F55355-D120-42AC-8116-8410A7D602FA}.Debug|Mono.ActiveCfg = Debug|Any CPU {52F55355-D120-42AC-8116-8410A7D602FA}.Debug|x86.ActiveCfg = Debug|Any CPU {52F55355-D120-42AC-8116-8410A7D602FA}.Debug|x86.Build.0 = Debug|Any CPU - {52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {52F55355-D120-42AC-8116-8410A7D602FA}.Release|Any CPU.ActiveCfg = Release|Any CPU {52F55355-D120-42AC-8116-8410A7D602FA}.Release|Any CPU.Build.0 = Release|Any CPU {52F55355-D120-42AC-8116-8410A7D602FA}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2519,16 +2054,6 @@ Global {F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.Debug|Mono.ActiveCfg = Debug|Any CPU {F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.Debug|x86.ActiveCfg = Debug|Any CPU {F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.Debug|x86.Build.0 = Debug|Any CPU - {F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.Release|Any CPU.ActiveCfg = Release|Any CPU {F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.Release|Any CPU.Build.0 = Release|Any CPU {F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2566,16 +2091,6 @@ Global {FBCAF3D0-2808-4934-8E96-3F607594517B}.Debug|Mono.Build.0 = Debug|Any CPU {FBCAF3D0-2808-4934-8E96-3F607594517B}.Debug|x86.ActiveCfg = Debug|Any CPU {FBCAF3D0-2808-4934-8E96-3F607594517B}.Debug|x86.Build.0 = Debug|Any CPU - {FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {FBCAF3D0-2808-4934-8E96-3F607594517B}.Release|Any CPU.ActiveCfg = Release|Any CPU {FBCAF3D0-2808-4934-8E96-3F607594517B}.Release|Any CPU.Build.0 = Release|Any CPU {FBCAF3D0-2808-4934-8E96-3F607594517B}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2613,16 +2128,6 @@ Global {C7A69145-60B6-4882-97D6-A3921DD43978}.Debug|Mono.ActiveCfg = Debug|Any CPU {C7A69145-60B6-4882-97D6-A3921DD43978}.Debug|x86.ActiveCfg = Debug|Any CPU {C7A69145-60B6-4882-97D6-A3921DD43978}.Debug|x86.Build.0 = Debug|Any CPU - {C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {C7A69145-60B6-4882-97D6-A3921DD43978}.Release|Any CPU.ActiveCfg = Release|Any CPU {C7A69145-60B6-4882-97D6-A3921DD43978}.Release|Any CPU.Build.0 = Release|Any CPU {C7A69145-60B6-4882-97D6-A3921DD43978}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2662,16 +2167,6 @@ Global {BD7F352C-6DC1-4740-BAF2-2D34A038728C}.Debug|Mono.Build.0 = Debug|Any CPU {BD7F352C-6DC1-4740-BAF2-2D34A038728C}.Debug|x86.ActiveCfg = Debug|Any CPU {BD7F352C-6DC1-4740-BAF2-2D34A038728C}.Debug|x86.Build.0 = Debug|Any CPU - {BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {BD7F352C-6DC1-4740-BAF2-2D34A038728C}.Release|Any CPU.ActiveCfg = Release|Any CPU {BD7F352C-6DC1-4740-BAF2-2D34A038728C}.Release|Any CPU.Build.0 = Release|Any CPU {BD7F352C-6DC1-4740-BAF2-2D34A038728C}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2712,16 +2207,6 @@ Global {4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.Debug|Mono.Build.0 = Debug|Any CPU {4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.Debug|x86.ActiveCfg = Debug|Any CPU {4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.Debug|x86.Build.0 = Debug|Any CPU - {4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.Release|Any CPU.ActiveCfg = Release|Any CPU {4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.Release|Any CPU.Build.0 = Release|Any CPU {4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2762,16 +2247,6 @@ Global {F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.Debug|Mono.Build.0 = Debug|Any CPU {F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.Debug|x86.ActiveCfg = Debug|Any CPU {F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.Debug|x86.Build.0 = Debug|Any CPU - {F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.Release|Any CPU.ActiveCfg = Release|Any CPU {F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.Release|Any CPU.Build.0 = Release|Any CPU {F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2825,11 +2300,6 @@ Global {29132311-1848-4FD6-AE0C-4FF841151BD3}.Debug|x86.ActiveCfg = Debug|Any CPU {29132311-1848-4FD6-AE0C-4FF841151BD3}.Debug|x86.Build.0 = Debug|Any CPU {29132311-1848-4FD6-AE0C-4FF841151BD3}.Debug|x86.Deploy.0 = Debug|Any CPU - {29132311-1848-4FD6-AE0C-4FF841151BD3}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {29132311-1848-4FD6-AE0C-4FF841151BD3}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {29132311-1848-4FD6-AE0C-4FF841151BD3}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {29132311-1848-4FD6-AE0C-4FF841151BD3}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {29132311-1848-4FD6-AE0C-4FF841151BD3}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU {29132311-1848-4FD6-AE0C-4FF841151BD3}.Release|Any CPU.ActiveCfg = Release|Any CPU {29132311-1848-4FD6-AE0C-4FF841151BD3}.Release|Any CPU.Build.0 = Release|Any CPU {29132311-1848-4FD6-AE0C-4FF841151BD3}.Release|Any CPU.Deploy.0 = Release|Any CPU @@ -2872,11 +2342,6 @@ Global {40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.Debug|Mono.ActiveCfg = Debug|Any CPU {40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.Debug|x86.ActiveCfg = Debug|Any CPU {40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.Debug|x86.Build.0 = Debug|Any CPU - {40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU {40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.Release|Any CPU.ActiveCfg = Release|Any CPU {40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.Release|Any CPU.Build.0 = Release|Any CPU {40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2916,11 +2381,6 @@ Global {7863EA94-F0FB-4386-BF8C-E5BFA761560A}.Debug|Mono.Build.0 = Debug|Any CPU {7863EA94-F0FB-4386-BF8C-E5BFA761560A}.Debug|x86.ActiveCfg = Debug|Any CPU {7863EA94-F0FB-4386-BF8C-E5BFA761560A}.Debug|x86.Build.0 = Debug|Any CPU - {7863EA94-F0FB-4386-BF8C-E5BFA761560A}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {7863EA94-F0FB-4386-BF8C-E5BFA761560A}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {7863EA94-F0FB-4386-BF8C-E5BFA761560A}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {7863EA94-F0FB-4386-BF8C-E5BFA761560A}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {7863EA94-F0FB-4386-BF8C-E5BFA761560A}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU {7863EA94-F0FB-4386-BF8C-E5BFA761560A}.Release|Any CPU.ActiveCfg = Release|Any CPU {7863EA94-F0FB-4386-BF8C-E5BFA761560A}.Release|Any CPU.Build.0 = Release|Any CPU {7863EA94-F0FB-4386-BF8C-E5BFA761560A}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -2961,11 +2421,6 @@ Global {7D2D3083-71DD-4CC9-8907-39A0D86FB322}.Debug|Mono.Build.0 = Debug|Any CPU {7D2D3083-71DD-4CC9-8907-39A0D86FB322}.Debug|x86.ActiveCfg = Debug|Any CPU {7D2D3083-71DD-4CC9-8907-39A0D86FB322}.Debug|x86.Build.0 = Debug|Any CPU - {7D2D3083-71DD-4CC9-8907-39A0D86FB322}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {7D2D3083-71DD-4CC9-8907-39A0D86FB322}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {7D2D3083-71DD-4CC9-8907-39A0D86FB322}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {7D2D3083-71DD-4CC9-8907-39A0D86FB322}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {7D2D3083-71DD-4CC9-8907-39A0D86FB322}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU {7D2D3083-71DD-4CC9-8907-39A0D86FB322}.Release|Any CPU.ActiveCfg = Release|Any CPU {7D2D3083-71DD-4CC9-8907-39A0D86FB322}.Release|Any CPU.Build.0 = Release|Any CPU {7D2D3083-71DD-4CC9-8907-39A0D86FB322}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -3006,11 +2461,6 @@ Global {BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.Debug|Mono.Build.0 = Debug|Any CPU {BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.Debug|x86.ActiveCfg = Debug|Any CPU {BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.Debug|x86.Build.0 = Debug|Any CPU - {BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU {BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.Release|Any CPU.ActiveCfg = Release|Any CPU {BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.Release|Any CPU.Build.0 = Release|Any CPU {BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -3051,16 +2501,6 @@ Global {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.Debug|Mono.Build.0 = Debug|Any CPU {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.Debug|x86.ActiveCfg = Debug|Any CPU {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.Debug|x86.Build.0 = Debug|Any CPU - {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.Release|Any CPU.ActiveCfg = Release|Any CPU {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.Release|Any CPU.Build.0 = Release|Any CPU {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -3101,16 +2541,6 @@ Global {854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.Debug|Mono.Build.0 = Debug|Any CPU {854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.Debug|x86.ActiveCfg = Debug|Any CPU {854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.Debug|x86.Build.0 = Debug|Any CPU - {854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.Release|Any CPU.ActiveCfg = Release|Any CPU {854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.Release|Any CPU.Build.0 = Release|Any CPU {854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -3151,16 +2581,6 @@ Global {638580B0-7910-40EF-B674-DCB34DA308CD}.Debug|Mono.Build.0 = Debug|Any CPU {638580B0-7910-40EF-B674-DCB34DA308CD}.Debug|x86.ActiveCfg = Debug|Any CPU {638580B0-7910-40EF-B674-DCB34DA308CD}.Debug|x86.Build.0 = Debug|Any CPU - {638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {638580B0-7910-40EF-B674-DCB34DA308CD}.Release|Any CPU.ActiveCfg = Release|Any CPU {638580B0-7910-40EF-B674-DCB34DA308CD}.Release|Any CPU.Build.0 = Release|Any CPU {638580B0-7910-40EF-B674-DCB34DA308CD}.Release|iPhone.ActiveCfg = Release|Any CPU @@ -3201,16 +2621,6 @@ Global {CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.Debug|Mono.Build.0 = Debug|Any CPU {CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.Debug|x86.ActiveCfg = Debug|Any CPU {CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.Debug|x86.Build.0 = Debug|Any CPU - {CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU {CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.Release|Any CPU.ActiveCfg = Release|Any CPU {CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.Release|Any CPU.Build.0 = Release|Any CPU {CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.Release|iPhone.ActiveCfg = Release|Any CPU diff --git a/src/Avalonia.DesignerSupport/DesignerAssist.cs b/src/Avalonia.DesignerSupport/DesignerAssist.cs index 8d30f3cf25..2f5fc79147 100644 --- a/src/Avalonia.DesignerSupport/DesignerAssist.cs +++ b/src/Avalonia.DesignerSupport/DesignerAssist.cs @@ -5,8 +5,6 @@ using System.IO; using System.Linq; using System.Reflection; using System.Text; -using OmniXaml; -using OmniXaml.ObjectAssembler; using Avalonia.Controls; using Avalonia.Controls.Platform; using Avalonia.Markup.Xaml; diff --git a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj index 0ecab9c92c..aa68357d45 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj +++ b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj @@ -24,16 +24,6 @@ 4 bin\Release\Avalonia.Markup.Xaml.XML CS1591 - - - true - bin\DebugOmniXaml\ - TRACE;DEBUG;OMNIXAML - CS1591 - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset @@ -52,27 +42,12 @@ - - - - - - - - - - - - - - - @@ -89,7 +64,6 @@ - @@ -97,8 +71,6 @@ - - @@ -111,7 +83,6 @@ - @@ -123,180 +94,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -309,9 +106,6 @@ - - - diff --git a/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs b/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs index 3f47d44d88..3142d954ff 100644 --- a/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs +++ b/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs @@ -1,11 +1,6 @@ namespace Avalonia.Markup.Xaml { - public class AvaloniaXamlLoader : -#if OMNIXAML - AvaloniaXamlLoaderOmniXaml -#else - AvaloniaXamlLoaderPortableXaml -#endif + public class AvaloniaXamlLoader : AvaloniaXamlLoaderPortableXaml { public static object Parse(string xaml) => new AvaloniaXamlLoader().Load(xaml); diff --git a/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderOmniXaml.cs b/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderOmniXaml.cs deleted file mode 100644 index df734dfe39..0000000000 --- a/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderOmniXaml.cs +++ /dev/null @@ -1,227 +0,0 @@ -// Copyright (c) The Avalonia Project. All rights reserved. -// Licensed under the MIT license. See licence.md file in the project root for full license information. - -using System; -using System.Collections.Generic; -using System.IO; -using System.Reflection; -using System.Text; -using OmniXaml; -using Avalonia.Platform; -using Avalonia.Markup.Xaml.Context; -using Avalonia.Markup.Xaml.Styling; -using OmniXaml.ObjectAssembler; -using Avalonia.Controls; -using Avalonia.Markup.Xaml.Data; - -namespace Avalonia.Markup.Xaml -{ -#if OMNIXAML - /// - /// Loads XAML for a avalonia application. - /// - public class AvaloniaXamlLoaderOmniXaml : XmlLoader - { - private static AvaloniaParserFactory s_parserFactory; - private static IInstanceLifeCycleListener s_lifeCycleListener = new AvaloniaLifeCycleListener(); - private static Stack s_uriStack = new Stack(); - - /// - /// Initializes a new instance of the class. - /// - public AvaloniaXamlLoaderOmniXaml() - : this(GetParserFactory()) - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The parser factory to use. - public AvaloniaXamlLoaderOmniXaml(IParserFactory xamlParserFactory) - : base(xamlParserFactory) - { - } - - /// - /// Gets the URI of the XAML file currently being loaded. - /// - /// - /// TODO: Making this internal for now as I'm not sure that this is the correct - /// thing to do, but its needed by to get the URL of - /// the currently loading XAML file, as we can't use the OmniXAML parsing context - /// there. Maybe we need a way to inject OmniXAML context into the objects its - /// constructing? - /// - internal static Uri UriContext => s_uriStack.Count > 0 ? s_uriStack.Peek() : null; - - /// - /// Loads the XAML into a Avalonia component. - /// - /// The object to load the XAML into. - public static void Load(object obj) - { - Contract.Requires(obj != null); - - var loader = new AvaloniaXamlLoaderOmniXaml(); - loader.Load(obj.GetType(), obj); - } - - /// - /// Loads the XAML for a type. - /// - /// The type. - /// - /// The optional instance into which the XAML should be loaded. - /// - /// The loaded object. - public object Load(Type type, object rootInstance = null) - { - Contract.Requires(type != null); - - // HACK: Currently Visual Studio is forcing us to change the extension of xaml files - // in certain situations, so we try to load .xaml and if that's not found we try .xaml. - // Ideally we'd be able to use .xaml everywhere - var assetLocator = AvaloniaLocator.Current.GetService(); - - if (assetLocator == null) - { - throw new InvalidOperationException( - "Could not create IAssetLoader : maybe Application.RegisterServices() wasn't called?"); - } - - foreach (var uri in GetUrisFor(type)) - { - if (assetLocator.Exists(uri)) - { - using (var stream = assetLocator.Open(uri)) - { - var initialize = rootInstance as ISupportInitialize; - initialize?.BeginInit(); - return Load(stream, rootInstance, uri); - } - } - } - - throw new FileNotFoundException("Unable to find view for " + type.FullName); - } - - /// - /// Loads XAML from a URI. - /// - /// The URI of the XAML file. - /// - /// A base URI to use if is relative. - /// - /// - /// The optional instance into which the XAML should be loaded. - /// - /// The loaded object. - public object Load(Uri uri, Uri baseUri = null, object rootInstance = null) - { - Contract.Requires(uri != null); - - var assetLocator = AvaloniaLocator.Current.GetService(); - - if (assetLocator == null) - { - throw new InvalidOperationException( - "Could not create IAssetLoader : maybe Application.RegisterServices() wasn't called?"); - } - - using (var stream = assetLocator.Open(uri, baseUri)) - { - return Load(stream, rootInstance, uri); - } - } - - /// - /// Loads XAML from a string. - /// - /// The string containing the XAML. - /// - /// The optional instance into which the XAML should be loaded. - /// - /// The loaded object. - public object Load(string xaml, object rootInstance = null) - { - Contract.Requires(xaml != null); - - using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(xaml))) - { - return Load(stream, rootInstance); - } - } - - /// - /// Loads XAML from a stream. - /// - /// The stream containing the XAML. - /// - /// The optional instance into which the XAML should be loaded. - /// - /// The URI of the XAML - /// The loaded object. - public object Load(Stream stream, object rootInstance = null, Uri uri = null) - { - try - { - if (uri != null) - { - s_uriStack.Push(uri); - } - - var result = base.Load(stream, new Settings - { - RootInstance = rootInstance, - InstanceLifeCycleListener = s_lifeCycleListener, - ParsingContext = new Dictionary - { - { "Uri", uri } - } - }); - - var topLevel = result as TopLevel; - - if (topLevel != null) - { - DelayedBinding.ApplyBindings(topLevel); - } - - return result; - } - finally - { - if (uri != null) - { - s_uriStack.Pop(); - } - } - } - - private static AvaloniaParserFactory GetParserFactory() - { - if (s_parserFactory == null) - { - s_parserFactory = new AvaloniaParserFactory(); - } - - return s_parserFactory; - } - - /// - /// Gets the URI for a type. - /// - /// The type. - /// The URI. - private static IEnumerable GetUrisFor(Type type) - { - var asm = type.GetTypeInfo().Assembly.GetName().Name; - var typeName = type.FullName; - yield return new Uri("resm:" + typeName + ".xaml?assembly=" + asm); - yield return new Uri("resm:" + typeName + ".paml?assembly=" + asm); - - } - } -#endif -} diff --git a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaAttachableXamlMember.cs b/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaAttachableXamlMember.cs deleted file mode 100644 index 612dfa3f60..0000000000 --- a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaAttachableXamlMember.cs +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (c) The Avalonia Project. All rights reserved. -// Licensed under the MIT license. See licence.md file in the project root for full license information. - -using Avalonia.Markup.Xaml.Data; -using OmniXaml; -using OmniXaml.Typing; -using System.Reflection; - -namespace Avalonia.Markup.Xaml.Context -{ -#if OMNIXAML - public class AvaloniaAttachableXamlMember : AttachableMember - { - public AvaloniaAttachableXamlMember(string name, - XamlType owner, - MethodInfo getter, - MethodInfo setter, - ITypeRepository xamlTypeRepository, - ITypeFeatureProvider featureProvider) - : base(name, getter, setter, xamlTypeRepository, featureProvider) - { - } - - public override string ToString() - { - return "Avalonia Attachable XAML Member " + base.ToString(); - } - - protected override IMemberValuePlugin LookupXamlMemberValueConnector() - { - return new AvaloniaMemberValuePlugin(this); - } - } -#endif -} \ No newline at end of file diff --git a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaContentPropertyProvider.cs b/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaContentPropertyProvider.cs deleted file mode 100644 index 164d948e10..0000000000 --- a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaContentPropertyProvider.cs +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) The Avalonia Project. All rights reserved. -// Licensed under the MIT license. See licence.md file in the project root for full license information. - -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using Glass; -using OmniXaml; -using OmniXaml.Builder; -using Avalonia.Metadata; - -namespace Avalonia.Markup.Xaml.Context -{ - public class AvaloniaContentPropertyProvider : IContentPropertyProvider - { - private readonly Dictionary _values = new Dictionary(); - - public string GetContentPropertyName(Type type) - { - string result; - - if (!_values.TryGetValue(type, out result)) - { - result = LookupContentProperty(type); - _values[type] = result; - } - - return result; - } - - private string LookupContentProperty(Type type) - { - var result = (from member in type.GetRuntimeProperties() - let att = member.GetCustomAttribute() - where att != null - select member).FirstOrDefault(); - - return result?.Name; - } - - void IAdd.Add(ContentPropertyDefinition item) - { - throw new NotImplementedException(); - } - - IEnumerator IEnumerable.GetEnumerator() - { - throw new NotImplementedException(); - } - - IEnumerator IEnumerable.GetEnumerator() - { - throw new NotImplementedException(); - } - } -} diff --git a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaLifeCycleListener.cs b/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaLifeCycleListener.cs deleted file mode 100644 index 8b692c98ed..0000000000 --- a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaLifeCycleListener.cs +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (c) The Avalonia Project. All rights reserved. -// Licensed under the MIT license. See licence.md file in the project root for full license information. - -using System; -using OmniXaml; - -namespace Avalonia.Markup.Xaml.Context -{ -#if OMNIXAML - public class AvaloniaLifeCycleListener : IInstanceLifeCycleListener - { - public void OnAfterProperties(object instance) - { - } - - public void OnAssociatedToParent(object instance) - { - } - - public void OnBegin(object instance) - { - var isi = instance as ISupportInitialize; - isi?.BeginInit(); - } - - public void OnEnd(object instance) - { - var isi = instance as ISupportInitialize; - isi?.EndInit(); - } - } -#endif -} diff --git a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaMemberValuePlugin.cs b/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaMemberValuePlugin.cs deleted file mode 100644 index d4a7838169..0000000000 --- a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaMemberValuePlugin.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) The Avalonia Project. All rights reserved. -// Licensed under the MIT license. See licence.md file in the project root for full license information. - -using System; -using OmniXaml.TypeConversion; -using OmniXaml.Typing; - -namespace Avalonia.Markup.Xaml.Context -{ -#if OMNIXAML - public class AvaloniaMemberValuePlugin : MemberValuePlugin - { - private readonly MutableMember _xamlMember; - - public AvaloniaMemberValuePlugin(MutableMember xamlMember) - : base(xamlMember) - { - _xamlMember = xamlMember; - } - - public override void SetValue(object instance, object value, IValueContext valueContext) - { - PropertyAccessor.SetValue(instance, _xamlMember, value, valueContext); - } - } -#endif -} diff --git a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaNamespaceRegistry.cs b/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaNamespaceRegistry.cs deleted file mode 100644 index 47b14e15b7..0000000000 --- a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaNamespaceRegistry.cs +++ /dev/null @@ -1,183 +0,0 @@ -// Copyright (c) The Avalonia Project. All rights reserved. -// Licensed under the MIT license. See licence.md file in the project root for full license information. - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using OmniXaml.Builder; -using OmniXaml.Typing; -using Avalonia.Controls; -using Avalonia.Markup.Xaml.Templates; -using Avalonia.Media; -using Avalonia.Metadata; -using Avalonia.Platform; -using Avalonia.Styling; -using Glass.Core; - -namespace Avalonia.Markup.Xaml.Context -{ -#if OMNIXAML - public class AvaloniaNamespaceRegistry : INamespaceRegistry - { - private const string ClrNamespace = "clr-namespace:"; - private const string AvaloniaNs = "https://github.com/avaloniaui"; - - private static readonly IEnumerable ForcedAssemblies = new[] - { - typeof(AvaloniaObject).GetTypeInfo().Assembly, - typeof(Control).GetTypeInfo().Assembly, - typeof(Style).GetTypeInfo().Assembly, - typeof(DataTemplate).GetTypeInfo().Assembly, - typeof(SolidColorBrush).GetTypeInfo().Assembly, - typeof(IValueConverter).GetTypeInfo().Assembly, - }; - - private List _clrNamespaces = new List(); - private List _namespaces = new List(); - private Dictionary _prefixes = new Dictionary(); - private List _scanned = new List(); - - public AvaloniaNamespaceRegistry() - { - ScanAssemblies(ForcedAssemblies); - ScanNewAssemblies(); - RegisterPrefix(new PrefixRegistration(string.Empty, AvaloniaNs)); - } - - public IEnumerable RegisteredPrefixes => - _prefixes.Select(x => new PrefixRegistration(x.Key, x.Value)); - - public void AddNamespace(XamlNamespace xamlNamespace) - { - _namespaces.Add(xamlNamespace); - } - - public Namespace GetNamespace(string name) - { - Namespace result; - - if (!IsClrNamespace(name)) - { - ScanNewAssemblies(); - result = _namespaces.FirstOrDefault(x => x.Name == name); - - if (result == null) - { - result = _namespaces.FirstOrDefault(x => x.Name == name); - } - } - else - { - var nsAndAssembly = ParseClrNameSpace(name); - - result = _clrNamespaces.FirstOrDefault(x => - x.Name == nsAndAssembly.Item1 && - x.Assembly.GetName().Name == nsAndAssembly.Item2); - - if (result == null) - { - var clr = CreateClrNamespace(name); - _clrNamespaces.Add(clr); - result = clr; - } - } - - return result; - } - - public Namespace GetNamespaceByPrefix(string prefix) - { - string uri; - - if (_prefixes.TryGetValue(prefix, out uri)) - { - return GetNamespace(uri); - } - - return null; - } - - public void RegisterPrefix(PrefixRegistration prefixRegistration) - { - _prefixes[prefixRegistration.Prefix] = prefixRegistration.Ns; - } - - private static bool IsClrNamespace(string ns) - { - return ns.StartsWith(ClrNamespace); - } - - private static ClrNamespace CreateClrNamespace(string formattedClrString) - { - var nsAndAssembly = ParseClrNameSpace(formattedClrString); - var assembly = GetAssembly(nsAndAssembly.Item2); - - return new ClrNamespace(assembly, nsAndAssembly.Item1); - } - - private static Tuple ParseClrNameSpace(string clrNamespace) - { - var startOfNamespace = clrNamespace.IndexOf(":", StringComparison.Ordinal) + 1; - var endOfNamespace = clrNamespace.IndexOf(";", startOfNamespace, StringComparison.Ordinal); - - if (endOfNamespace < 0) - { - endOfNamespace = clrNamespace.Length - startOfNamespace; - } - - var ns = clrNamespace.Substring(startOfNamespace, endOfNamespace - startOfNamespace); - - var remainingPartStart = startOfNamespace + ns.Length + 1; - var remainingPartLenght = clrNamespace.Length - remainingPartStart; - var assemblyPart = clrNamespace.Substring(remainingPartStart, remainingPartLenght); - - return Tuple.Create(ns, assemblyPart.Dicotomize('=').Item2); - } - - private static Assembly GetAssembly(string assemblyName) - { - return Assembly.Load(new AssemblyName(assemblyName)); - } - - private void ScanAssemblies(IEnumerable assemblies) - { - foreach (var assembly in assemblies) - { - var namespaces = assembly.GetCustomAttributes() - .Select(x => new { x.XmlNamespace, x.ClrNamespace }) - .GroupBy(x => x.XmlNamespace); - - foreach (var nsa in namespaces) - { - var xamlNamespace = _namespaces.FirstOrDefault(x => x.Name == nsa.Key); - - if (xamlNamespace == null) - { - xamlNamespace = new XamlNamespace(nsa.Key); - _namespaces.Add(xamlNamespace); - } - - var clrNamespaces = nsa.Select(x => x.ClrNamespace); - xamlNamespace.Addresses.Add(new ConfiguredAssemblyWithNamespaces(assembly, clrNamespaces)); - } - - _scanned.Add(assembly); - } - } - - private void ScanNewAssemblies() - { - IEnumerable assemblies = AvaloniaLocator.Current - .GetService() - ?.GetLoadedAssemblies(); - - if (assemblies != null) - { - assemblies = assemblies.Except(_scanned); - ScanAssemblies(assemblies); - } - } - } -#endif -} diff --git a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaObjectAssembler.cs b/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaObjectAssembler.cs deleted file mode 100644 index fefebdd18d..0000000000 --- a/src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaObjectAssembler.cs +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright (c) The Avalonia Project. All rights reserved. -// Licensed under the MIT license. See licence.md file in the project root for full license information. - -using System; -using OmniXaml; -using OmniXaml.ObjectAssembler; -using OmniXaml.ObjectAssembler.Commands; -using OmniXaml.TypeConversion; -using Avalonia.Markup.Xaml.Templates; -using System.Collections.Generic; -using System.Collections.ObjectModel; - -namespace Avalonia.Markup.Xaml.Context -{ -#if OMNIXAML - public class AvaloniaObjectAssembler : IObjectAssembler - { - private readonly TemplateHostingObjectAssembler objectAssembler; - private readonly ObjectAssembler assembler; - - public AvaloniaObjectAssembler( - IRuntimeTypeSource typeSource, - ITopDownValueContext topDownValueContext, - Settings settings = null) - { - var mapping = new DeferredLoaderMapping(); - mapping.Map