From 851b97ac58a708553b968e023909dc3348f25c83 Mon Sep 17 00:00:00 2001 From: donandren Date: Wed, 1 Mar 2017 17:00:15 +0200 Subject: [PATCH 01/88] 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/88] 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/88] 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 @@ + + + - - - - - - - - - - - - - - - - - - - - - <_ReferencesFromNuGetPackages Remove="%(ReferencePath.FileName)" Condition="'%(ReferencePath.ResolvedFrom)' == 'ImplicitlyExpandTargetFramework'" /> - - - - <_ResolvedProjectReferencePaths Include="@(_ReferencesFromNuGetPackages)" Condition="'%(_ReferencesFromNuGetPackages.NuGetSourceType)' == 'Project'" /> - - - - - - - - - true - - - - - - - - - $(MSBuildToolsPath)\..\Roslyn - - \ No newline at end of file diff --git a/src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj b/src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj index aab791cd8f..4cd1f21022 100644 --- a/src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj +++ b/src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj @@ -86,5 +86,4 @@ - \ No newline at end of file diff --git a/src/Skia/Avalonia.Skia.Desktop/Avalonia.Skia.Desktop.csproj b/src/Skia/Avalonia.Skia.Desktop/Avalonia.Skia.Desktop.csproj index b8dd79eca9..e2d4522d7e 100644 --- a/src/Skia/Avalonia.Skia.Desktop/Avalonia.Skia.Desktop.csproj +++ b/src/Skia/Avalonia.Skia.Desktop/Avalonia.Skia.Desktop.csproj @@ -106,5 +106,4 @@ - \ No newline at end of file diff --git a/src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj b/src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj index 220fb37b81..b2d92b0304 100644 --- a/src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj +++ b/src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj @@ -88,5 +88,4 @@ - \ No newline at end of file diff --git a/src/Windows/Avalonia.Designer/Avalonia.Designer.csproj b/src/Windows/Avalonia.Designer/Avalonia.Designer.csproj index 71fb024d89..4fdd06c9ce 100644 --- a/src/Windows/Avalonia.Designer/Avalonia.Designer.csproj +++ b/src/Windows/Avalonia.Designer/Avalonia.Designer.csproj @@ -123,5 +123,4 @@ - \ No newline at end of file diff --git a/src/Windows/Avalonia.Direct2D1/Avalonia.Direct2D1.csproj b/src/Windows/Avalonia.Direct2D1/Avalonia.Direct2D1.csproj index ab62f5ac75..bd2e77d022 100644 --- a/src/Windows/Avalonia.Direct2D1/Avalonia.Direct2D1.csproj +++ b/src/Windows/Avalonia.Direct2D1/Avalonia.Direct2D1.csproj @@ -115,5 +115,4 @@ - \ No newline at end of file diff --git a/src/Windows/Avalonia.Win32/Avalonia.Win32.csproj b/src/Windows/Avalonia.Win32/Avalonia.Win32.csproj index b134f4666e..41728ee486 100644 --- a/src/Windows/Avalonia.Win32/Avalonia.Win32.csproj +++ b/src/Windows/Avalonia.Win32/Avalonia.Win32.csproj @@ -102,5 +102,4 @@ - \ No newline at end of file diff --git a/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj b/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj index d915b67cd0..fd150052da 100644 --- a/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj +++ b/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj @@ -105,5 +105,4 @@ - \ No newline at end of file diff --git a/src/iOS/Avalonia.iOSTestApplication/Avalonia.iOSTestApplication.csproj b/src/iOS/Avalonia.iOSTestApplication/Avalonia.iOSTestApplication.csproj index 050d61376a..92fcf226de 100644 --- a/src/iOS/Avalonia.iOSTestApplication/Avalonia.iOSTestApplication.csproj +++ b/src/iOS/Avalonia.iOSTestApplication/Avalonia.iOSTestApplication.csproj @@ -187,5 +187,4 @@ - \ No newline at end of file diff --git a/tests/Avalonia.Benchmarks/Avalonia.Benchmarks.csproj b/tests/Avalonia.Benchmarks/Avalonia.Benchmarks.csproj index 1f5ebac203..be6480618b 100644 --- a/tests/Avalonia.Benchmarks/Avalonia.Benchmarks.csproj +++ b/tests/Avalonia.Benchmarks/Avalonia.Benchmarks.csproj @@ -102,5 +102,4 @@ - \ No newline at end of file diff --git a/tests/Avalonia.DesignerSupport.TestApp/Avalonia.DesignerSupport.TestApp.csproj b/tests/Avalonia.DesignerSupport.TestApp/Avalonia.DesignerSupport.TestApp.csproj index 2bf962bfa5..7945915e8c 100644 --- a/tests/Avalonia.DesignerSupport.TestApp/Avalonia.DesignerSupport.TestApp.csproj +++ b/tests/Avalonia.DesignerSupport.TestApp/Avalonia.DesignerSupport.TestApp.csproj @@ -147,5 +147,4 @@ - \ No newline at end of file diff --git a/tests/Avalonia.DesignerSupport.Tests/Avalonia.DesignerSupport.Tests.csproj b/tests/Avalonia.DesignerSupport.Tests/Avalonia.DesignerSupport.Tests.csproj index efca582573..477d44b99d 100644 --- a/tests/Avalonia.DesignerSupport.Tests/Avalonia.DesignerSupport.Tests.csproj +++ b/tests/Avalonia.DesignerSupport.Tests/Avalonia.DesignerSupport.Tests.csproj @@ -58,5 +58,4 @@ - \ No newline at end of file diff --git a/tests/Avalonia.Direct2D1.UnitTests/Avalonia.Direct2D1.UnitTests.csproj b/tests/Avalonia.Direct2D1.UnitTests/Avalonia.Direct2D1.UnitTests.csproj index 035d5b6c3e..4b33d14243 100644 --- a/tests/Avalonia.Direct2D1.UnitTests/Avalonia.Direct2D1.UnitTests.csproj +++ b/tests/Avalonia.Direct2D1.UnitTests/Avalonia.Direct2D1.UnitTests.csproj @@ -92,5 +92,4 @@ - \ No newline at end of file diff --git a/tests/Avalonia.LeakTests/Avalonia.LeakTests.csproj b/tests/Avalonia.LeakTests/Avalonia.LeakTests.csproj index 83893b9bcd..46bd4ee324 100644 --- a/tests/Avalonia.LeakTests/Avalonia.LeakTests.csproj +++ b/tests/Avalonia.LeakTests/Avalonia.LeakTests.csproj @@ -122,5 +122,4 @@ - \ No newline at end of file diff --git a/tests/Avalonia.RenderTests/Avalonia.Cairo.RenderTests.csproj b/tests/Avalonia.RenderTests/Avalonia.Cairo.RenderTests.csproj index b6c573c3c9..98256529bc 100644 --- a/tests/Avalonia.RenderTests/Avalonia.Cairo.RenderTests.csproj +++ b/tests/Avalonia.RenderTests/Avalonia.Cairo.RenderTests.csproj @@ -102,5 +102,4 @@ - \ No newline at end of file diff --git a/tests/Avalonia.RenderTests/Avalonia.Direct2D1.RenderTests.csproj b/tests/Avalonia.RenderTests/Avalonia.Direct2D1.RenderTests.csproj index 14fb35202e..370bc04395 100644 --- a/tests/Avalonia.RenderTests/Avalonia.Direct2D1.RenderTests.csproj +++ b/tests/Avalonia.RenderTests/Avalonia.Direct2D1.RenderTests.csproj @@ -101,5 +101,4 @@ - \ No newline at end of file diff --git a/tests/Avalonia.RenderTests/Avalonia.Skia.RenderTests.csproj b/tests/Avalonia.RenderTests/Avalonia.Skia.RenderTests.csproj index 9b228a89ee..92111585a7 100644 --- a/tests/Avalonia.RenderTests/Avalonia.Skia.RenderTests.csproj +++ b/tests/Avalonia.RenderTests/Avalonia.Skia.RenderTests.csproj @@ -102,5 +102,4 @@ - \ No newline at end of file diff --git a/tests/Avalonia.UnitTests/Avalonia.UnitTests.csproj b/tests/Avalonia.UnitTests/Avalonia.UnitTests.csproj index 628ccb2a1f..5b679fe360 100644 --- a/tests/Avalonia.UnitTests/Avalonia.UnitTests.csproj +++ b/tests/Avalonia.UnitTests/Avalonia.UnitTests.csproj @@ -54,5 +54,4 @@ - \ No newline at end of file From 742d2f0a6d7ebb7905b441fb9b625592ba26645e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Wed, 17 May 2017 08:51:11 +0200 Subject: [PATCH 61/88] Remove Xamarin.Common.targets fix --- appveyor.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 4bf7f7f157..7f2b1bb395 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -13,8 +13,6 @@ environment: MYGET_API_KEY: secure: OtVfyN3ErqQrDTnWH2HDfJDlCiu/i4/X4wFmK3ZXXP7HmCiXYPSbTjMPwwdOxRaK MYGET_API_URL: https://www.myget.org/F/avalonia-ci/api/v2/package -init: -- ps: (New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/appveyor/ci/master/scripts/xamarin-vs2017-151-fixed.targets', "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Microsoft.Common.Targets\ImportAfter\Xamarin.Common.targets") install: - if not exist gtk-sharp-2.12.26.msi appveyor DownloadFile http://download.xamarin.com/GTKforWindows/Windows/gtk-sharp-2.12.26.msi - if not exist dotnet-1.0.1.exe appveyor DownloadFile https://go.microsoft.com/fwlink/?linkid=843448 -FileName "dotnet-1.0.1.exe" From 4d2d68057b5f8782aef7df33b690b0d8265cee8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Wed, 17 May 2017 19:49:21 +0200 Subject: [PATCH 62/88] Restore UseRoslynPathHack --- build.cake | 1 + src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj | 3 +++ src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj | 3 +++ src/iOS/Avalonia.iOS/Avalonia.iOS.csproj | 3 +++ 4 files changed, 10 insertions(+) diff --git a/build.cake b/build.cake index 2d62ae2d54..2bd88e3c50 100644 --- a/build.cake +++ b/build.cake @@ -143,6 +143,7 @@ Task("Build") MSBuild(parameters.MSBuildSolution, settings => { settings.SetConfiguration(parameters.Configuration); settings.WithProperty("Platform", "\"" + parameters.Platform + "\""); + settings.WithProperty("UseRoslynPathHack", "true"); settings.SetVerbosity(Verbosity.Minimal); settings.WithProperty("Windows", "True"); settings.UseToolVersion(MSBuildToolVersion.VS2017); diff --git a/src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj b/src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj index 4cd1f21022..55cefda6e4 100644 --- a/src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj +++ b/src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj @@ -86,4 +86,7 @@ + + $(MSBuildToolsPath)\Roslyn + \ No newline at end of file diff --git a/src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj b/src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj index b2d92b0304..a3a08ec060 100644 --- a/src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj +++ b/src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj @@ -88,4 +88,7 @@ + + $(MSBuildToolsPath)\Roslyn + \ No newline at end of file diff --git a/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj b/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj index fd150052da..333be18735 100644 --- a/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj +++ b/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj @@ -105,4 +105,7 @@ + + $(MSBuildToolsPath)\Roslyn + \ No newline at end of file From 3b086f6055e32dc74295c872fcbfe48692e68b0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sat, 3 Jun 2017 22:06:50 +0200 Subject: [PATCH 63/88] Fix iOS projects build --- src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj | 4 ++-- src/iOS/Avalonia.iOS/Avalonia.iOS.csproj | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj b/src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj index a3a08ec060..9ea89704f7 100644 --- a/src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj +++ b/src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj @@ -88,7 +88,7 @@ - - $(MSBuildToolsPath)\Roslyn + + $(MSBuildToolsPath)\..\Roslyn \ No newline at end of file diff --git a/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj b/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj index 333be18735..a959c0cf72 100644 --- a/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj +++ b/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj @@ -105,7 +105,7 @@ - - $(MSBuildToolsPath)\Roslyn + + $(MSBuildToolsPath)\..\Roslyn \ No newline at end of file From 0d4e5063000b611bb2d187ee869088e4c3d417d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sat, 3 Jun 2017 22:07:32 +0200 Subject: [PATCH 64/88] Remove UseRoslynPathHack for Android projects --- src/Android/Avalonia.Android/Avalonia.Android.csproj | 3 --- src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj | 3 --- 2 files changed, 6 deletions(-) diff --git a/src/Android/Avalonia.Android/Avalonia.Android.csproj b/src/Android/Avalonia.Android/Avalonia.Android.csproj index 1ed416f385..091fdcc4b5 100644 --- a/src/Android/Avalonia.Android/Avalonia.Android.csproj +++ b/src/Android/Avalonia.Android/Avalonia.Android.csproj @@ -133,7 +133,4 @@ - - $(MSBuildToolsPath)\Roslyn - \ No newline at end of file diff --git a/src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj b/src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj index 55cefda6e4..4cd1f21022 100644 --- a/src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj +++ b/src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj @@ -86,7 +86,4 @@ - - $(MSBuildToolsPath)\Roslyn - \ No newline at end of file From eaab3d6465c3ee8a60024b0fdbb49690feccf239 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sat, 3 Jun 2017 22:11:08 +0200 Subject: [PATCH 65/88] Added missing tool --- build.cake | 1 + 1 file changed, 1 insertion(+) diff --git a/build.cake b/build.cake index 2bd88e3c50..5420d24755 100644 --- a/build.cake +++ b/build.cake @@ -5,6 +5,7 @@ #addin "nuget:?package=Polly&version=5.1.0" #addin "nuget:?package=NuGet.Core&version=2.14.0" #tool "nuget:?package=JetBrains.dotMemoryUnit&version=2.1.20150828.125449" +#tool "JetBrains.ReSharper.CommandLineTools" /////////////////////////////////////////////////////////////////////////////// // TOOLS From afff2d8ae56dbc2a311b4b75041ba21dcfcca285 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sat, 3 Jun 2017 22:12:24 +0200 Subject: [PATCH 66/88] Update tool JetBrains.dotMemoryUnit version --- build.cake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.cake b/build.cake index 5420d24755..b86cb395b8 100644 --- a/build.cake +++ b/build.cake @@ -4,7 +4,7 @@ #addin "nuget:?package=Polly&version=5.1.0" #addin "nuget:?package=NuGet.Core&version=2.14.0" -#tool "nuget:?package=JetBrains.dotMemoryUnit&version=2.1.20150828.125449" +#tool "nuget:?package=JetBrains.dotMemoryUnit&version=2.3.20160517.113140" #tool "JetBrains.ReSharper.CommandLineTools" /////////////////////////////////////////////////////////////////////////////// From 50786609c6194a528316953d2152e5289b062c3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sat, 3 Jun 2017 22:13:49 +0200 Subject: [PATCH 67/88] Fix build.cake --- build.cake | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build.cake b/build.cake index b86cb395b8..b091dba1a2 100644 --- a/build.cake +++ b/build.cake @@ -2,17 +2,17 @@ // ADDINS /////////////////////////////////////////////////////////////////////////////// -#addin "nuget:?package=Polly&version=5.1.0" -#addin "nuget:?package=NuGet.Core&version=2.14.0" +#addin "nuget:?package=Polly&version=4.2.0" +#addin "nuget:?package=NuGet.Core&version=2.12.0" +#tool "nuget:https://dotnet.myget.org/F/nuget-build/?package=NuGet.CommandLine&version=4.3.0-preview1-3980&prerelease" #tool "nuget:?package=JetBrains.dotMemoryUnit&version=2.3.20160517.113140" #tool "JetBrains.ReSharper.CommandLineTools" - /////////////////////////////////////////////////////////////////////////////// // TOOLS /////////////////////////////////////////////////////////////////////////////// -#tool "nuget:?package=xunit.runner.console&version=2.2.0" -#tool "nuget:?package=OpenCover&version=4.6.519" +#tool "nuget:?package=xunit.runner.console&version=2.1.0" +#tool "nuget:?package=OpenCover" /////////////////////////////////////////////////////////////////////////////// // USINGS From c4aae602e83947f50a6b692033aadf33b2c018b6 Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Fri, 21 Jul 2017 18:07:12 +0300 Subject: [PATCH 68/88] Updated dotmemory --- appveyor.yml | 2 +- build.cake | 48 +++++++++++++++---- .../toolproject/tool.csproj | 9 ++++ 3 files changed, 50 insertions(+), 9 deletions(-) create mode 100644 tests/Avalonia.LeakTests/toolproject/tool.csproj diff --git a/appveyor.yml b/appveyor.yml index 529cbbb65f..038028f839 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -27,7 +27,7 @@ before_build: build_script: - ps: .\build.ps1 -Target "AppVeyor" -Platform "$env:platform" -Configuration "$env:configuration" after_build: -- tools\JetBrains.dotMemoryUnit\tools\dotMemoryUnit.exe -targetExecutable="%xunit20%\xunit.console.x86.exe" -returnTargetExitCode --"tests\Avalonia.LeakTests\bin\Release\Avalonia.LeakTests.dll" +- tests\Avalonia.LeakTests\bin\Release\dotMemoryUnit.exe -targetExecutable="%xunit20%\xunit.console.x86.exe" -returnTargetExitCode --"tests\Avalonia.LeakTests\bin\Release\Avalonia.LeakTests.dll" - "SET PATH=C:\\Python34;C:\\Python34\\Scripts;%PATH%" - pip install codecov - codecov -f "./artifacts/coverage.xml" diff --git a/build.cake b/build.cake index b3822271d4..81390436fd 100644 --- a/build.cake +++ b/build.cake @@ -4,8 +4,8 @@ #addin "nuget:?package=Polly&version=4.2.0" #addin "nuget:?package=NuGet.Core&version=2.12.0" +#tool "nuget:?package=xunit.runner.console&version=2.2.0" #tool "nuget:https://dotnet.myget.org/F/nuget-build/?package=NuGet.CommandLine&version=4.3.0-preview1-3980&prerelease" -#tool "nuget:?package=JetBrains.dotMemoryUnit&version=2.3.20160517.113140" #tool "JetBrains.ReSharper.CommandLineTools" /////////////////////////////////////////////////////////////////////////////// // TOOLS @@ -194,6 +194,7 @@ Task("Run-Net-Core-Unit-Tests") Task("Run-Unit-Tests") .IsDependentOn("Run-Net-Core-Unit-Tests") .IsDependentOn("Build") + .IsDependentOn("Run-Leak-Tests") .WithCriteria(() => !parameters.SkipTests) .Does(() => { @@ -206,13 +207,6 @@ Task("Run-Unit-Tests") .Select(name => MakeAbsolute(File("./tests/" + name + "/bin/" + parameters.DirSuffix + "/" + name + ".dll"))) .ToList(); - if (parameters.IsRunningOnWindows) - { - var leakTests = GetFiles("./tests/Avalonia.LeakTests/bin/" + parameters.DirSuffix + "/*.LeakTests.dll"); - - unitTests.AddRange(leakTests); - } - var toolPath = (parameters.IsPlatformAnyCPU || parameters.IsPlatformX86) ? "./tools/xunit.runner.console/tools/xunit.console.x86.exe" : "./tools/xunit.runner.console/tools/xunit.console.exe"; @@ -365,6 +359,44 @@ Task("Publish-NuGet") Information("Publish-NuGet Task failed, but continuing with next Task..."); }); +Task("Run-Leak-Tests") + .WithCriteria(parameters.IsRunningOnWindows) + .IsDependentOn("Build") + .Does(() => + { + DotNetCoreRestore("tests\\Avalonia.LeakTests\\toolproject\\tool.csproj"); + DotNetBuild("tests\\Avalonia.LeakTests\\toolproject\\tool.csproj", settings => settings.SetConfiguration("Release")); + var report = "tests\\Avalonia.LeakTests\\bin\\Release\\report.xml"; + if(System.IO.File.Exists(report)) + System.IO.File.Delete(report); + var proc = System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo + { + FileName="tests\\Avalonia.LeakTests\\toolproject\\bin\\Release\\net461\\dotMemoryUnit.exe", + Arguments="-targetExecutable=\"tools\\xunit.runner.console\\tools\\xunit.console.x86.exe\" -returnTargetExitCode -- tests\\Avalonia.LeakTests\\bin\\Release\\Avalonia.LeakTests.dll -xml tests\\Avalonia.LeakTests\\bin\\Release\\report.xml ", + UseShellExecute = false, + }); + var st = System.Diagnostics.Stopwatch.StartNew(); + while(!proc.HasExited && !System.IO.File.Exists(report)) + { + if(st.Elapsed.TotalSeconds>60) + { + Error("Timed out, probably a bug in dotMemoryUnit"); + proc.Kill(); + throw new Exception("dotMemory issue"); + } + proc.WaitForExit(100); + } + try{ + proc.Kill(); + }catch{} + var doc = System.Xml.Linq.XDocument.Load(report); + if(doc.Root.Descendants("assembly").Any(x=>x.Attribute("failed").Value.ToString() != "0")) + { + throw new Exception("Tests failed"); + } + + }); + Task("Inspect") .WithCriteria(parameters.IsRunningOnWindows) .IsDependentOn("Restore-NuGet-Packages") diff --git a/tests/Avalonia.LeakTests/toolproject/tool.csproj b/tests/Avalonia.LeakTests/toolproject/tool.csproj new file mode 100644 index 0000000000..c9f584be72 --- /dev/null +++ b/tests/Avalonia.LeakTests/toolproject/tool.csproj @@ -0,0 +1,9 @@ + + + net461 + Library + + + + + \ No newline at end of file From 1da031881c1cd6eb65e0e6d7590fe15de60f643c Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Fri, 21 Jul 2017 18:39:04 +0300 Subject: [PATCH 69/88] I'm starting to *really* hate the new SDK --- build.cake | 2 +- tests/Avalonia.LeakTests/toolproject/tool.csproj | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/build.cake b/build.cake index 81390436fd..12a9d85d05 100644 --- a/build.cake +++ b/build.cake @@ -371,7 +371,7 @@ Task("Run-Leak-Tests") System.IO.File.Delete(report); var proc = System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo { - FileName="tests\\Avalonia.LeakTests\\toolproject\\bin\\Release\\net461\\dotMemoryUnit.exe", + FileName="tests\\Avalonia.LeakTests\\toolproject\\bin\\dotMemoryUnit.exe", Arguments="-targetExecutable=\"tools\\xunit.runner.console\\tools\\xunit.console.x86.exe\" -returnTargetExitCode -- tests\\Avalonia.LeakTests\\bin\\Release\\Avalonia.LeakTests.dll -xml tests\\Avalonia.LeakTests\\bin\\Release\\report.xml ", UseShellExecute = false, }); diff --git a/tests/Avalonia.LeakTests/toolproject/tool.csproj b/tests/Avalonia.LeakTests/toolproject/tool.csproj index c9f584be72..54dbe6f17e 100644 --- a/tests/Avalonia.LeakTests/toolproject/tool.csproj +++ b/tests/Avalonia.LeakTests/toolproject/tool.csproj @@ -1,5 +1,7 @@  + $(MSBuildThisFileDirectory)\bin + $(OutputPath) net461 Library From 36310f1b6a0a777fa97521386799c5929d0cd6c4 Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Fri, 21 Jul 2017 19:04:12 +0300 Subject: [PATCH 70/88] dotMemory tests are now run with cake --- appveyor.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 038028f839..cc0063dac5 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -27,7 +27,6 @@ before_build: build_script: - ps: .\build.ps1 -Target "AppVeyor" -Platform "$env:platform" -Configuration "$env:configuration" after_build: -- tests\Avalonia.LeakTests\bin\Release\dotMemoryUnit.exe -targetExecutable="%xunit20%\xunit.console.x86.exe" -returnTargetExitCode --"tests\Avalonia.LeakTests\bin\Release\Avalonia.LeakTests.dll" - "SET PATH=C:\\Python34;C:\\Python34\\Scripts;%PATH%" - pip install codecov - codecov -f "./artifacts/coverage.xml" From cce1c7af60ca300dbfe928c4f2321448d9d5595b Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Sun, 23 Jul 2017 00:16:40 +0300 Subject: [PATCH 71/88] Switched to nuget version of Portable.Xaml and updated to use netstandard1.3 --- .gitmodules | 6 +- Avalonia.sln | 203 ++++++++---------- samples/BindingTest/BindingTest.csproj | 2 +- .../ControlCatalog.Desktop.csproj | 2 +- samples/ControlCatalog/ControlCatalog.csproj | 2 +- samples/RenderTest/RenderTest.csproj | 2 +- .../VirtualizationTest.csproj | 2 +- .../GtkInteropDemo/GtkInteropDemo.csproj | 2 +- .../WindowsInteropTest.csproj | 2 +- .../Avalonia.DesignerSupport.csproj | 2 +- .../Avalonia.Diagnostics.csproj | 2 +- .../Avalonia.DotNetFrameworkRuntime.csproj | 2 +- .../Avalonia.Themes.Default.csproj | 2 +- src/Gtk/Avalonia.Cairo/Avalonia.Cairo.csproj | 2 +- src/Gtk/Avalonia.Gtk/Avalonia.Gtk.csproj | 2 +- .../Avalonia.Markup.Xaml.csproj | 4 +- .../Converters/AvaloniaListTypeConverter.cs | 1 + .../AvaloniaPropertyTypeConverter.cs | 2 +- .../Converters/BitmapTypeConverter.cs | 1 + .../Converters/BrushTypeConverter.cs | 1 + .../Converters/ClassesTypeConverter.cs | 1 + .../Converters/ColorTypeConverter.cs | 1 + .../ColumnDefinitionsTypeConverter.cs | 1 + .../Converters/CursorTypeConverter.cs | 1 + .../Converters/GeometryTypeConverter.cs | 1 + .../Converters/GridLengthTypeConverter.cs | 1 + .../Converters/IconTypeConverter.cs | 1 + .../Converters/KeyGestureConverter.cs | 1 + .../Converters/MemberSelectorTypeConverter.cs | 1 + .../Converters/PointTypeConverter.cs | 1 + .../Converters/PointsListTypeConverter.cs | 1 + .../Converters/RelativePointTypeConverter.cs | 1 + .../Converters/RelativeRectTypeConverter.cs | 1 + .../Converters/RowDefinitionsTypeConverter.cs | 1 + .../Converters/SelectorTypeConverter.cs | 1 + .../Converters/SetterValueTypeConverter.cs | 1 + .../Converters/SizeTypeConverter.cs | 1 + .../Converters/ThicknessTypeConverter.cs | 1 + .../Converters/TimeSpanTypeConverter.cs | 3 +- .../MarkupExtensions/StyleIncludeExtension.cs | 1 + .../AvaloniaDefaultTypeConverters.cs | 1 + .../AvaloniaMemberAttributeProvider.cs | 1 + .../AvaloniaTypeAttributeProvider.cs | 1 + .../PortableXaml/AvaloniaXamlObjectWriter.cs | 1 + .../PortableXaml/AvaloniaXamlSchemaContext.cs | 1 + .../PortableXaml/TypeDescriptorExtensions.cs | 1 + .../PortableXaml/XamlBinding.cs | 1 + .../Templates/TemplateLoader.cs | 1 + src/Markup/Portable.Xaml | 1 - .../Avalonia.Skia.Desktop.csproj | 2 +- .../Avalonia.Direct2D1.csproj | 2 +- .../Avalonia.Win32.Interop.csproj | 2 +- .../Avalonia.Win32/Avalonia.Win32.csproj | 2 +- .../Avalonia.Markup.Xaml.UnitTests.csproj | 1 - 54 files changed, 148 insertions(+), 136 deletions(-) delete mode 160000 src/Markup/Portable.Xaml diff --git a/.gitmodules b/.gitmodules index 5fd83ac60d..773b291467 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,8 +10,4 @@ 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/Portable.Xaml"] - path = src/Markup/Portable.Xaml - url = https://github.com/cwensley/Portable.Xaml.git - branch = develop + url = https://github.com/SuperJMN/glass \ No newline at end of file diff --git a/Avalonia.sln b/Avalonia.sln index b9a6b31ce6..453af8c59b 100644 --- a/Avalonia.sln +++ b/Avalonia.sln @@ -1,12 +1,12 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.26403.7 +VisualStudioVersion = 15.0.26510.0 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Base", "src\Avalonia.Base\Avalonia.Base.csproj", "{B09B78D8-9B26-48B0-9149-D64A2F120F3F}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Base", "src\Avalonia.Base\Avalonia.Base.csproj", "{B09B78D8-9B26-48B0-9149-D64A2F120F3F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Visuals", "src\Avalonia.Visuals\Avalonia.Visuals.csproj", "{EB582467-6ABB-43A1-B052-E981BA910E3A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Visuals", "src\Avalonia.Visuals\Avalonia.Visuals.csproj", "{EB582467-6ABB-43A1-B052-E981BA910E3A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Layout", "src\Avalonia.Layout\Avalonia.Layout.csproj", "{42472427-4774-4C81-8AFF-9F27B8E31721}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Layout", "src\Avalonia.Layout\Avalonia.Layout.csproj", "{42472427-4774-4C81-8AFF-9F27B8E31721}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Windows", "Windows", "{B39A8919-9F95-48FE-AD7B-76E08B509888}" EndProject @@ -16,47 +16,47 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Direct2D1", "src\W EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Designer", "src\Windows\Avalonia.Designer\Avalonia.Designer.csproj", "{EC42600F-049B-43FF-AED1-8314D61B2749}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Input", "src\Avalonia.Input\Avalonia.Input.csproj", "{62024B2D-53EB-4638-B26B-85EEAA54866E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Input", "src\Avalonia.Input\Avalonia.Input.csproj", "{62024B2D-53EB-4638-B26B-85EEAA54866E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Interactivity", "src\Avalonia.Interactivity\Avalonia.Interactivity.csproj", "{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Interactivity", "src\Avalonia.Interactivity\Avalonia.Interactivity.csproj", "{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Controls", "src\Avalonia.Controls\Avalonia.Controls.csproj", "{D2221C82-4A25-4583-9B43-D791E3F6820C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Controls", "src\Avalonia.Controls\Avalonia.Controls.csproj", "{D2221C82-4A25-4583-9B43-D791E3F6820C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Styling", "src\Avalonia.Styling\Avalonia.Styling.csproj", "{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Styling", "src\Avalonia.Styling\Avalonia.Styling.csproj", "{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Themes.Default", "src\Avalonia.Themes.Default\Avalonia.Themes.Default.csproj", "{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Themes.Default", "src\Avalonia.Themes.Default\Avalonia.Themes.Default.csproj", "{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Diagnostics", "src\Avalonia.Diagnostics\Avalonia.Diagnostics.csproj", "{7062AE20-5DCC-4442-9645-8195BDECE63E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Diagnostics", "src\Avalonia.Diagnostics\Avalonia.Diagnostics.csproj", "{7062AE20-5DCC-4442-9645-8195BDECE63E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Animation", "src\Avalonia.Animation\Avalonia.Animation.csproj", "{D211E587-D8BC-45B9-95A4-F297C8FA5200}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Animation", "src\Avalonia.Animation\Avalonia.Animation.csproj", "{D211E587-D8BC-45B9-95A4-F297C8FA5200}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{C5A00AC3-B34C-4564-9BDD-2DA473EF4D8B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Styling.UnitTests", "tests\Avalonia.Styling.UnitTests\Avalonia.Styling.UnitTests.csproj", "{47ECDF59-DEF8-4C53-87B1-2098A3429059}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Styling.UnitTests", "tests\Avalonia.Styling.UnitTests\Avalonia.Styling.UnitTests.csproj", "{47ECDF59-DEF8-4C53-87B1-2098A3429059}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Controls.UnitTests", "tests\Avalonia.Controls.UnitTests\Avalonia.Controls.UnitTests.csproj", "{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Controls.UnitTests", "tests\Avalonia.Controls.UnitTests\Avalonia.Controls.UnitTests.csproj", "{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Visuals.UnitTests", "tests\Avalonia.Visuals.UnitTests\Avalonia.Visuals.UnitTests.csproj", "{76716382-3159-460E-BDA6-C5715CF606D7}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Visuals.UnitTests", "tests\Avalonia.Visuals.UnitTests\Avalonia.Visuals.UnitTests.csproj", "{76716382-3159-460E-BDA6-C5715CF606D7}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Base.UnitTests", "tests\Avalonia.Base.UnitTests\Avalonia.Base.UnitTests.csproj", "{2905FF23-53FB-45E6-AA49-6AF47A172056}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Base.UnitTests", "tests\Avalonia.Base.UnitTests\Avalonia.Base.UnitTests.csproj", "{2905FF23-53FB-45E6-AA49-6AF47A172056}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Layout.UnitTests", "tests\Avalonia.Layout.UnitTests\Avalonia.Layout.UnitTests.csproj", "{DB070A10-BF39-4752-8456-86E9D5928478}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Layout.UnitTests", "tests\Avalonia.Layout.UnitTests\Avalonia.Layout.UnitTests.csproj", "{DB070A10-BF39-4752-8456-86E9D5928478}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Interactivity.UnitTests", "tests\Avalonia.Interactivity.UnitTests\Avalonia.Interactivity.UnitTests.csproj", "{08478EF5-44E8-42E9-92D6-15E00EC038D8}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Interactivity.UnitTests", "tests\Avalonia.Interactivity.UnitTests\Avalonia.Interactivity.UnitTests.csproj", "{08478EF5-44E8-42E9-92D6-15E00EC038D8}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Direct2D1.RenderTests", "tests\Avalonia.RenderTests\Avalonia.Direct2D1.RenderTests.csproj", "{DABFD304-D6A4-4752-8123-C2CCF7AC7831}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Input.UnitTests", "tests\Avalonia.Input.UnitTests\Avalonia.Input.UnitTests.csproj", "{AC18926A-E784-40FE-B09D-BB0FE2B599F0}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Input.UnitTests", "tests\Avalonia.Input.UnitTests\Avalonia.Input.UnitTests.csproj", "{AC18926A-E784-40FE-B09D-BB0FE2B599F0}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Direct2D1.UnitTests", "tests\Avalonia.Direct2D1.UnitTests\Avalonia.Direct2D1.UnitTests.csproj", "{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Cairo.RenderTests", "tests\Avalonia.RenderTests\Avalonia.Cairo.RenderTests.csproj", "{E106CF37-4066-4615-B684-172A6D30B058}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Markup.Xaml.UnitTests", "tests\Avalonia.Markup.Xaml.UnitTests\Avalonia.Markup.Xaml.UnitTests.csproj", "{99135EAB-653D-47E4-A378-C96E1278CA44}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Markup.Xaml.UnitTests", "tests\Avalonia.Markup.Xaml.UnitTests\Avalonia.Markup.Xaml.UnitTests.csproj", "{99135EAB-653D-47E4-A378-C96E1278CA44}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Markup", "Markup", "{8B6A8209-894F-4BA1-B880-965FD453982C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Markup.Xaml", "src\Markup\Avalonia.Markup.Xaml\Avalonia.Markup.Xaml.csproj", "{3E53A01A-B331-47F3-B828-4A5717E77A24}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Markup.Xaml", "src\Markup\Avalonia.Markup.Xaml\Avalonia.Markup.Xaml.csproj", "{3E53A01A-B331-47F3-B828-4A5717E77A24}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{9B9E3891-2366-4253-A952-D08BCEB71098}" EndProject @@ -71,15 +71,15 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Gtk", "src\Gtk\Ava EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Cairo", "src\Gtk\Avalonia.Cairo\Avalonia.Cairo.csproj", "{FB05AC90-89BA-4F2F-A924-F37875FB547C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.ReactiveUI", "src\Avalonia.ReactiveUI\Avalonia.ReactiveUI.csproj", "{6417B24E-49C2-4985-8DB2-3AB9D898EC91}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.ReactiveUI", "src\Avalonia.ReactiveUI\Avalonia.ReactiveUI.csproj", "{6417B24E-49C2-4985-8DB2-3AB9D898EC91}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.HtmlRenderer", "src\Avalonia.HtmlRenderer\Avalonia.HtmlRenderer.csproj", "{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.HtmlRenderer", "src\Avalonia.HtmlRenderer\Avalonia.HtmlRenderer.csproj", "{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}" EndProject Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "PlatformSupport", "src\Shared\PlatformSupport\PlatformSupport.shproj", "{E4D9629C-F168-4224-3F51-A5E482FFBC42}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Markup", "src\Markup\Avalonia.Markup\Avalonia.Markup.csproj", "{6417E941-21BC-467B-A771-0DE389353CE6}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Markup", "src\Markup\Avalonia.Markup\Avalonia.Markup.csproj", "{6417E941-21BC-467B-A771-0DE389353CE6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Markup.UnitTests", "tests\Avalonia.Markup.UnitTests\Avalonia.Markup.UnitTests.csproj", "{8EF392D5-1416-45AA-9956-7CBBC3229E8A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Markup.UnitTests", "tests\Avalonia.Markup.UnitTests\Avalonia.Markup.UnitTests.csproj", "{8EF392D5-1416-45AA-9956-7CBBC3229E8A}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BindingTest", "samples\BindingTest\BindingTest.csproj", "{08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}" EndProject @@ -109,15 +109,15 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.iOSTestApplication EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.LeakTests", "tests\Avalonia.LeakTests\Avalonia.LeakTests.csproj", "{E1AA3DBF-9056-4530-9376-18119A7A3FFE}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.UnitTests", "tests\Avalonia.UnitTests\Avalonia.UnitTests.csproj", "{88060192-33D5-4932-B0F9-8BD2763E857D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.UnitTests", "tests\Avalonia.UnitTests\Avalonia.UnitTests.csproj", "{88060192-33D5-4932-B0F9-8BD2763E857D}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Benchmarks", "tests\Avalonia.Benchmarks\Avalonia.Benchmarks.csproj", "{410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Logging.Serilog", "src\Avalonia.Logging.Serilog\Avalonia.Logging.Serilog.csproj", "{B61B66A3-B82D-4875-8001-89D3394FE0C9}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Logging.Serilog", "src\Avalonia.Logging.Serilog\Avalonia.Logging.Serilog.csproj", "{B61B66A3-B82D-4875-8001-89D3394FE0C9}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.DesignerSupport", "src\Avalonia.DesignerSupport\Avalonia.DesignerSupport.csproj", "{799A7BB5-3C2C-48B6-85A7-406A12C420DA}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.DesignerSupport", "src\Avalonia.DesignerSupport\Avalonia.DesignerSupport.csproj", "{799A7BB5-3C2C-48B6-85A7-406A12C420DA}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControlCatalog", "samples\ControlCatalog\ControlCatalog.csproj", "{D0A739B9-3C68-4BA6-A328-41606954B6BD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ControlCatalog", "samples\ControlCatalog\ControlCatalog.csproj", "{D0A739B9-3C68-4BA6-A328-41606954B6BD}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControlCatalog.Desktop", "samples\ControlCatalog.Desktop\ControlCatalog.Desktop.csproj", "{2B888490-D14A-4BCA-AB4B-48676FA93C9B}" EndProject @@ -147,17 +147,15 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControlCatalog.Android", "s EndProject Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Avalonia.Win32.Shared", "src\Windows\Avalonia.Win32\Avalonia.Win32.Shared.shproj", "{9DEFC6B7-845B-4D8F-AFC0-D32BF0032B8C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Win32.NetStandard", "src\Windows\Avalonia.Win32.NetStandard\Avalonia.Win32.NetStandard.csproj", "{40759A76-D0F2-464E-8000-6FF0F5C4BD7C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Win32.NetStandard", "src\Windows\Avalonia.Win32.NetStandard\Avalonia.Win32.NetStandard.csproj", "{40759A76-D0F2-464E-8000-6FF0F5C4BD7C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.DotNetCoreRuntime", "src\Avalonia.DotNetCoreRuntime\Avalonia.DotNetCoreRuntime.csproj", "{7863EA94-F0FB-4386-BF8C-E5BFA761560A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.DotNetCoreRuntime", "src\Avalonia.DotNetCoreRuntime\Avalonia.DotNetCoreRuntime.csproj", "{7863EA94-F0FB-4386-BF8C-E5BFA761560A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Skia.Desktop.NetStandard", "src\Skia\Avalonia.Skia.Desktop.NetStandard\Avalonia.Skia.Desktop.NetStandard.csproj", "{7D2D3083-71DD-4CC9-8907-39A0D86FB322}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Skia.Desktop.NetStandard", "src\Skia\Avalonia.Skia.Desktop.NetStandard\Avalonia.Skia.Desktop.NetStandard.csproj", "{7D2D3083-71DD-4CC9-8907-39A0D86FB322}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Gtk3", "src\Gtk\Avalonia.Gtk3\Avalonia.Gtk3.csproj", "{BB1F7BB5-6AD4-4776-94D9-C09D0A972658}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Gtk3", "src\Gtk\Avalonia.Gtk3\Avalonia.Gtk3.csproj", "{BB1F7BB5-6AD4-4776-94D9-C09D0A972658}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Portable.Xaml-pcl259", "src\Markup\Portable.Xaml\src\Portable.Xaml\Portable.Xaml-pcl259.csproj", "{179484EC-DB00-451A-AD2D-2E2AB20DE519}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControlCatalog.NetCore", "samples\ControlCatalog.NetCore\ControlCatalog.NetCore.csproj", "{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ControlCatalog.NetCore", "samples\ControlCatalog.NetCore\ControlCatalog.NetCore.csproj", "{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{74487168-7D91-487E-BF93-055F2251461E}" EndProject @@ -189,9 +187,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Targets", "Targets", "{4D6F EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Linux", "Linux", "{86C53C40-57AA-45B8-AD42-FAE0EFDF0F2B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.LinuxFramebuffer", "src\Linux\Avalonia.LinuxFramebuffer\Avalonia.LinuxFramebuffer.csproj", "{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.LinuxFramebuffer", "src\Linux\Avalonia.LinuxFramebuffer\Avalonia.LinuxFramebuffer.csproj", "{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Direct3DInteropSample", "samples\interop\Direct3DInteropSample\Direct3DInteropSample.csproj", "{638580B0-7910-40EF-B674-DCB34DA308CD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Direct3DInteropSample", "samples\interop\Direct3DInteropSample\Direct3DInteropSample.csproj", "{638580B0-7910-40EF-B674-DCB34DA308CD}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Win32.Interop", "src\Windows\Avalonia.Win32.Interop\Avalonia.Win32.Interop.csproj", "{CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}" EndProject @@ -1368,16 +1366,16 @@ 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 = DebugOmniXaml|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|Any CPU.Build.0 = DebugOmniXaml|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|iPhone.ActiveCfg = DebugOmniXaml|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|iPhone.Build.0 = DebugOmniXaml|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = DebugOmniXaml|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|iPhoneSimulator.Build.0 = DebugOmniXaml|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|Mono.ActiveCfg = DebugOmniXaml|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|Mono.Build.0 = DebugOmniXaml|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|x86.ActiveCfg = DebugOmniXaml|Any CPU - {99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|x86.Build.0 = DebugOmniXaml|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 @@ -1416,16 +1414,16 @@ 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 = DebugOmniXaml|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|Any CPU.Build.0 = DebugOmniXaml|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|iPhone.ActiveCfg = DebugOmniXaml|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|iPhone.Build.0 = DebugOmniXaml|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = DebugOmniXaml|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|iPhoneSimulator.Build.0 = DebugOmniXaml|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|Mono.ActiveCfg = DebugOmniXaml|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|Mono.Build.0 = DebugOmniXaml|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|x86.ActiveCfg = DebugOmniXaml|Any CPU - {3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|x86.Build.0 = DebugOmniXaml|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 @@ -3023,56 +3021,6 @@ Global {BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.Release|Mono.Build.0 = Release|Any CPU {BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.Release|x86.ActiveCfg = Release|Any CPU {BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.Release|x86.Build.0 = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Ad-Hoc|Mono.ActiveCfg = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Ad-Hoc|Mono.Build.0 = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Ad-Hoc|x86.Build.0 = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.AppStore|Any CPU.ActiveCfg = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.AppStore|Any CPU.Build.0 = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.AppStore|iPhone.ActiveCfg = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.AppStore|iPhone.Build.0 = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.AppStore|Mono.ActiveCfg = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.AppStore|Mono.Build.0 = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.AppStore|x86.ActiveCfg = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.AppStore|x86.Build.0 = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Debug|Any CPU.Build.0 = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Debug|iPhone.Build.0 = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Debug|Mono.ActiveCfg = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Debug|Mono.Build.0 = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Debug|x86.ActiveCfg = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Debug|x86.Build.0 = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Release|Any CPU.ActiveCfg = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Release|Any CPU.Build.0 = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Release|iPhone.ActiveCfg = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Release|iPhone.Build.0 = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Release|Mono.ActiveCfg = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Release|Mono.Build.0 = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Release|x86.ActiveCfg = Release|Any CPU - {179484EC-DB00-451A-AD2D-2E2AB20DE519}.Release|x86.Build.0 = Release|Any CPU {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU @@ -3103,6 +3051,16 @@ 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 @@ -3143,6 +3101,16 @@ 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 @@ -3183,6 +3151,16 @@ 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 @@ -3223,6 +3201,16 @@ 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 @@ -3288,7 +3276,6 @@ Global {40759A76-D0F2-464E-8000-6FF0F5C4BD7C} = {B39A8919-9F95-48FE-AD7B-76E08B509888} {7D2D3083-71DD-4CC9-8907-39A0D86FB322} = {3743B0F2-CC41-4F14-A8C8-267F579BF91E} {BB1F7BB5-6AD4-4776-94D9-C09D0A972658} = {B9894058-278A-46B5-B6ED-AD613FCC03B3} - {179484EC-DB00-451A-AD2D-2E2AB20DE519} = {8B6A8209-894F-4BA1-B880-965FD453982C} {39D7B147-1A5B-47C2-9D01-21FB7C47C4B3} = {9B9E3891-2366-4253-A952-D08BCEB71098} {F3AC8BC1-27F5-4255-9AFC-04ABFD11683A} = {74487168-7D91-487E-BF93-055F2251461E} {4D6FAF79-58B4-482F-9122-0668C346364C} = {74487168-7D91-487E-BF93-055F2251461E} diff --git a/samples/BindingTest/BindingTest.csproj b/samples/BindingTest/BindingTest.csproj index 74259a2a4b..013c286387 100644 --- a/samples/BindingTest/BindingTest.csproj +++ b/samples/BindingTest/BindingTest.csproj @@ -9,7 +9,7 @@ Properties BindingTest BindingTest - v4.5 + v4.6.1 512 true diff --git a/samples/ControlCatalog.Desktop/ControlCatalog.Desktop.csproj b/samples/ControlCatalog.Desktop/ControlCatalog.Desktop.csproj index 59c8c53137..a3940a3a7d 100644 --- a/samples/ControlCatalog.Desktop/ControlCatalog.Desktop.csproj +++ b/samples/ControlCatalog.Desktop/ControlCatalog.Desktop.csproj @@ -9,7 +9,7 @@ Properties ControlCatalog.Desktop ControlCatalog.Desktop - v4.5 + v4.6.1 512 true diff --git a/samples/ControlCatalog/ControlCatalog.csproj b/samples/ControlCatalog/ControlCatalog.csproj index 2a9f8f70de..3f978fa7f4 100644 --- a/samples/ControlCatalog/ControlCatalog.csproj +++ b/samples/ControlCatalog/ControlCatalog.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 False false diff --git a/samples/RenderTest/RenderTest.csproj b/samples/RenderTest/RenderTest.csproj index ed6194e0e1..95f1479b6b 100644 --- a/samples/RenderTest/RenderTest.csproj +++ b/samples/RenderTest/RenderTest.csproj @@ -9,7 +9,7 @@ Properties RenderTest RenderTest - v4.5 + v4.6.1 512 true diff --git a/samples/VirtualizationTest/VirtualizationTest.csproj b/samples/VirtualizationTest/VirtualizationTest.csproj index 89115016bf..327e659966 100644 --- a/samples/VirtualizationTest/VirtualizationTest.csproj +++ b/samples/VirtualizationTest/VirtualizationTest.csproj @@ -9,7 +9,7 @@ Properties VirtualizationTest VirtualizationTest - v4.5 + v4.6.1 512 true diff --git a/samples/interop/GtkInteropDemo/GtkInteropDemo.csproj b/samples/interop/GtkInteropDemo/GtkInteropDemo.csproj index 8cbaf7a627..56fa426f3c 100644 --- a/samples/interop/GtkInteropDemo/GtkInteropDemo.csproj +++ b/samples/interop/GtkInteropDemo/GtkInteropDemo.csproj @@ -9,7 +9,7 @@ Properties GtkInteropDemo GtkInteropDemo - v4.6 + v4.6.1 512 true diff --git a/samples/interop/WindowsInteropTest/WindowsInteropTest.csproj b/samples/interop/WindowsInteropTest/WindowsInteropTest.csproj index 84bd709f8c..2fa3ba30b9 100644 --- a/samples/interop/WindowsInteropTest/WindowsInteropTest.csproj +++ b/samples/interop/WindowsInteropTest/WindowsInteropTest.csproj @@ -9,7 +9,7 @@ Properties WindowsInteropTest WindowsInteropTest - v4.6 + v4.6.1 512 true diff --git a/src/Avalonia.DesignerSupport/Avalonia.DesignerSupport.csproj b/src/Avalonia.DesignerSupport/Avalonia.DesignerSupport.csproj index be0b98b24c..a68e8760f2 100644 --- a/src/Avalonia.DesignerSupport/Avalonia.DesignerSupport.csproj +++ b/src/Avalonia.DesignerSupport/Avalonia.DesignerSupport.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 false diff --git a/src/Avalonia.Diagnostics/Avalonia.Diagnostics.csproj b/src/Avalonia.Diagnostics/Avalonia.Diagnostics.csproj index e4752f6662..be3f397283 100644 --- a/src/Avalonia.Diagnostics/Avalonia.Diagnostics.csproj +++ b/src/Avalonia.Diagnostics/Avalonia.Diagnostics.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 false diff --git a/src/Avalonia.DotNetFrameworkRuntime/Avalonia.DotNetFrameworkRuntime.csproj b/src/Avalonia.DotNetFrameworkRuntime/Avalonia.DotNetFrameworkRuntime.csproj index 932afbe0e6..2fbcba40c8 100644 --- a/src/Avalonia.DotNetFrameworkRuntime/Avalonia.DotNetFrameworkRuntime.csproj +++ b/src/Avalonia.DotNetFrameworkRuntime/Avalonia.DotNetFrameworkRuntime.csproj @@ -9,7 +9,7 @@ Properties Avalonia.DotNetFrameworkRuntime Avalonia.DotNetFrameworkRuntime - v4.5 + v4.6.1 512 diff --git a/src/Avalonia.Themes.Default/Avalonia.Themes.Default.csproj b/src/Avalonia.Themes.Default/Avalonia.Themes.Default.csproj index be1d798e2d..4e980680d9 100644 --- a/src/Avalonia.Themes.Default/Avalonia.Themes.Default.csproj +++ b/src/Avalonia.Themes.Default/Avalonia.Themes.Default.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 false diff --git a/src/Gtk/Avalonia.Cairo/Avalonia.Cairo.csproj b/src/Gtk/Avalonia.Cairo/Avalonia.Cairo.csproj index 9a59f9e054..d09fd2ddc6 100644 --- a/src/Gtk/Avalonia.Cairo/Avalonia.Cairo.csproj +++ b/src/Gtk/Avalonia.Cairo/Avalonia.Cairo.csproj @@ -9,7 +9,7 @@ Properties Avalonia.Cairo Avalonia.Cairo - v4.5 + v4.6.1 512 diff --git a/src/Gtk/Avalonia.Gtk/Avalonia.Gtk.csproj b/src/Gtk/Avalonia.Gtk/Avalonia.Gtk.csproj index 8aa57293f3..b51377f29c 100644 --- a/src/Gtk/Avalonia.Gtk/Avalonia.Gtk.csproj +++ b/src/Gtk/Avalonia.Gtk/Avalonia.Gtk.csproj @@ -7,7 +7,7 @@ Library Avalonia.Gtk Avalonia.Gtk - v4.5 + v4.6.1 diff --git a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj index ca2afd4f68..2637cbc068 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj +++ b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj @@ -1,6 +1,6 @@  - netstandard1.1 + netstandard1.3 False false false @@ -304,7 +304,7 @@ - + diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaListTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaListTypeConverter.cs index d1811636d6..4e737621d9 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaListTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaListTypeConverter.cs @@ -11,6 +11,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class AvaloniaListTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs index c5d0c9d1da..5b564c8463 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs @@ -10,8 +10,8 @@ namespace Avalonia.Markup.Xaml.Converters using Avalonia.Styling; using Portable.Xaml; #if !OMNIXAML - using Portable.Xaml.ComponentModel; + using System.ComponentModel; using Portable.Xaml.Markup; public class AvaloniaPropertyTypeConverter : TypeConverter diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/BitmapTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/BitmapTypeConverter.cs index 4107454798..8b5922c992 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/BitmapTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/BitmapTypeConverter.cs @@ -11,6 +11,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class BitmapTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/BrushTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/BrushTypeConverter.cs index 0c256cf645..0161e31dd6 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/BrushTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/BrushTypeConverter.cs @@ -11,6 +11,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class BrushTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/ClassesTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/ClassesTypeConverter.cs index 93e08dcb11..d4579b6a4f 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/ClassesTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/ClassesTypeConverter.cs @@ -10,6 +10,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class ClassesTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/ColorTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/ColorTypeConverter.cs index f64fcac6d1..fe1aa78cf1 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/ColorTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/ColorTypeConverter.cs @@ -10,6 +10,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class ColorTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/ColumnDefinitionsTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/ColumnDefinitionsTypeConverter.cs index 7b6c72425d..30af44a598 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/ColumnDefinitionsTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/ColumnDefinitionsTypeConverter.cs @@ -10,6 +10,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class ColumnDefinitionsTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/CursorTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/CursorTypeConverter.cs index 127ad5a6e9..ef9b21a026 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/CursorTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/CursorTypeConverter.cs @@ -10,6 +10,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class CursorTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/GeometryTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/GeometryTypeConverter.cs index e1587480b8..bae60b7b3e 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/GeometryTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/GeometryTypeConverter.cs @@ -10,6 +10,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class GeometryTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/GridLengthTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/GridLengthTypeConverter.cs index ead49fe883..d6474f6694 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/GridLengthTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/GridLengthTypeConverter.cs @@ -10,6 +10,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class GridLengthTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/IconTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/IconTypeConverter.cs index a1ba71b131..f6469f7137 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/IconTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/IconTypeConverter.cs @@ -12,6 +12,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class IconTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/KeyGestureConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/KeyGestureConverter.cs index 1b19498f7d..c09ade509a 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/KeyGestureConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/KeyGestureConverter.cs @@ -10,6 +10,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class KeyGestureConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/MemberSelectorTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/MemberSelectorTypeConverter.cs index 05675ae9eb..657aad4211 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/MemberSelectorTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/MemberSelectorTypeConverter.cs @@ -10,6 +10,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class MemberSelectorTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/PointTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/PointTypeConverter.cs index a8f64fc531..52057e8519 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/PointTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/PointTypeConverter.cs @@ -9,6 +9,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class PointTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/PointsListTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/PointsListTypeConverter.cs index dd28717ac7..205fef23e2 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/PointsListTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/PointsListTypeConverter.cs @@ -10,6 +10,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class PointsListTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/RelativePointTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/RelativePointTypeConverter.cs index 6f75e8a067..81fd2b4d08 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/RelativePointTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/RelativePointTypeConverter.cs @@ -9,6 +9,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class RelativePointTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/RelativeRectTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/RelativeRectTypeConverter.cs index 69aec39727..7f27d7f735 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/RelativeRectTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/RelativeRectTypeConverter.cs @@ -9,6 +9,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class RelativeRectTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/RowDefinitionsTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/RowDefinitionsTypeConverter.cs index 12145db7e7..a1c8cc2b6c 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/RowDefinitionsTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/RowDefinitionsTypeConverter.cs @@ -10,6 +10,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class RowDefinitionsTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/SelectorTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/SelectorTypeConverter.cs index 391663ed43..37b54f6ba1 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/SelectorTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/SelectorTypeConverter.cs @@ -10,6 +10,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class SelectorTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/SetterValueTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/SetterValueTypeConverter.cs index 4378eee994..931d4e2ffc 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/SetterValueTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/SetterValueTypeConverter.cs @@ -4,6 +4,7 @@ using Avalonia.Styling; using Portable.Xaml; using Portable.Xaml.ComponentModel; +using System.ComponentModel; using Portable.Xaml.Markup; using System; using System.Globalization; diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/SizeTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/SizeTypeConverter.cs index 814dd932d0..597288149a 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/SizeTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/SizeTypeConverter.cs @@ -9,6 +9,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class SizeTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/ThicknessTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/ThicknessTypeConverter.cs index 754d63e5cf..47ec3c04bb 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/ThicknessTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/ThicknessTypeConverter.cs @@ -9,6 +9,7 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; public class ThicknessTypeConverter : TypeConverter { diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/TimeSpanTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/TimeSpanTypeConverter.cs index 06f725cd26..5b69023f58 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/TimeSpanTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/TimeSpanTypeConverter.cs @@ -9,8 +9,9 @@ namespace Avalonia.Markup.Xaml.Converters #if !OMNIXAML using Portable.Xaml.ComponentModel; + using System.ComponentModel; - public class TimeSpanTypeConverter : Portable.Xaml.ComponentModel.TimeSpanConverter + public class TimeSpanTypeConverter : System.ComponentModel.TimeSpanConverter { public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { diff --git a/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StyleIncludeExtension.cs b/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StyleIncludeExtension.cs index 50b2bcebbb..1a773293e3 100644 --- a/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StyleIncludeExtension.cs +++ b/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StyleIncludeExtension.cs @@ -5,6 +5,7 @@ using Avalonia.Markup.Xaml.Styling; using Avalonia.Styling; using Portable.Xaml; using Portable.Xaml.ComponentModel; +using System.ComponentModel; using Portable.Xaml.Markup; using System; diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaDefaultTypeConverters.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaDefaultTypeConverters.cs index cb43396a32..66e9a697e4 100644 --- a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaDefaultTypeConverters.cs +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaDefaultTypeConverters.cs @@ -7,6 +7,7 @@ using Avalonia.Media; using Avalonia.Media.Imaging; using Avalonia.Styling; using Portable.Xaml.ComponentModel; +using System.ComponentModel; using Avalonia.Controls; using Avalonia.Input; using Avalonia.Collections; diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaMemberAttributeProvider.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaMemberAttributeProvider.cs index 2026d42ce1..e9f6ba6945 100644 --- a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaMemberAttributeProvider.cs +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaMemberAttributeProvider.cs @@ -1,6 +1,7 @@ using Avalonia.Markup.Xaml.Converters; using Avalonia.Styling; using Portable.Xaml.ComponentModel; +using System.ComponentModel; using System; using System.Linq; using System.Reflection; diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaTypeAttributeProvider.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaTypeAttributeProvider.cs index deb8fb239d..6e23459cdf 100644 --- a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaTypeAttributeProvider.cs +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaTypeAttributeProvider.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. See licence.md file in the project root for full license information. using Portable.Xaml.ComponentModel; +using System.ComponentModel; using System; using System.Linq; using System.Reflection; diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs index ea442cc0ba..40bff5ed0b 100644 --- a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs @@ -1,6 +1,7 @@ using Avalonia.Data; using Portable.Xaml; using Portable.Xaml.ComponentModel; +using System.ComponentModel; using System.Collections.Generic; using System.Linq; diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs index 6c0fb79558..ee20be0efa 100644 --- a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs @@ -5,6 +5,7 @@ using Avalonia.Markup.Xaml.MarkupExtensions; using Avalonia.Markup.Xaml.Styling; using Portable.Xaml; using Portable.Xaml.ComponentModel; +using System.ComponentModel; using System; using System.Collections.Generic; using System.Linq; diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/TypeDescriptorExtensions.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/TypeDescriptorExtensions.cs index ebe1264856..de1b3fb977 100644 --- a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/TypeDescriptorExtensions.cs +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/TypeDescriptorExtensions.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Reflection; +using System.ComponentModel; namespace Portable.Xaml.ComponentModel { diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/XamlBinding.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/XamlBinding.cs index ba15dfc2b2..1f4e66471c 100644 --- a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/XamlBinding.cs +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/XamlBinding.cs @@ -3,6 +3,7 @@ using Avalonia.Data; using Avalonia.Styling; using Portable.Xaml; using Portable.Xaml.ComponentModel; +using System.ComponentModel; using Portable.Xaml.Markup; using System; diff --git a/src/Markup/Avalonia.Markup.Xaml/Templates/TemplateLoader.cs b/src/Markup/Avalonia.Markup.Xaml/Templates/TemplateLoader.cs index 5cf105f493..2333550a69 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Templates/TemplateLoader.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Templates/TemplateLoader.cs @@ -7,6 +7,7 @@ namespace Avalonia.Markup.Xaml.Templates using Portable.Xaml; using Portable.Xaml.ComponentModel; + using System.ComponentModel; using System; public class TemplateLoader : XamlDeferringLoader diff --git a/src/Markup/Portable.Xaml b/src/Markup/Portable.Xaml deleted file mode 160000 index ae819edcd3..0000000000 --- a/src/Markup/Portable.Xaml +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ae819edcd3b8930cca367888c19dd1ab19c263e9 diff --git a/src/Skia/Avalonia.Skia.Desktop/Avalonia.Skia.Desktop.csproj b/src/Skia/Avalonia.Skia.Desktop/Avalonia.Skia.Desktop.csproj index f0964680a1..d154b7984f 100644 --- a/src/Skia/Avalonia.Skia.Desktop/Avalonia.Skia.Desktop.csproj +++ b/src/Skia/Avalonia.Skia.Desktop/Avalonia.Skia.Desktop.csproj @@ -9,7 +9,7 @@ Properties Avalonia.Skia.Desktop Avalonia.Skia.Desktop - v4.5 + v4.6.1 512 false diff --git a/src/Windows/Avalonia.Direct2D1/Avalonia.Direct2D1.csproj b/src/Windows/Avalonia.Direct2D1/Avalonia.Direct2D1.csproj index 38fd7254dc..8884e83891 100644 --- a/src/Windows/Avalonia.Direct2D1/Avalonia.Direct2D1.csproj +++ b/src/Windows/Avalonia.Direct2D1/Avalonia.Direct2D1.csproj @@ -9,7 +9,7 @@ Properties Avalonia.Direct2D1 Avalonia.Direct2D1 - v4.5 + v4.6.1 512 diff --git a/src/Windows/Avalonia.Win32.Interop/Avalonia.Win32.Interop.csproj b/src/Windows/Avalonia.Win32.Interop/Avalonia.Win32.Interop.csproj index 5f1a065028..817b753157 100644 --- a/src/Windows/Avalonia.Win32.Interop/Avalonia.Win32.Interop.csproj +++ b/src/Windows/Avalonia.Win32.Interop/Avalonia.Win32.Interop.csproj @@ -9,7 +9,7 @@ Properties Avalonia.Win32.Interop Avalonia.Win32.Interop - v4.5.2 + v4.6.1 512 diff --git a/src/Windows/Avalonia.Win32/Avalonia.Win32.csproj b/src/Windows/Avalonia.Win32/Avalonia.Win32.csproj index ea742f8911..b2b42877b7 100644 --- a/src/Windows/Avalonia.Win32/Avalonia.Win32.csproj +++ b/src/Windows/Avalonia.Win32/Avalonia.Win32.csproj @@ -9,7 +9,7 @@ Properties Avalonia.Win32 Avalonia.Win32 - v4.5 + v4.6.1 512 diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj b/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj index 961b72f040..8bb6d49683 100644 --- a/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj +++ b/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj @@ -31,7 +31,6 @@ - From 18b8219a39ac2bc355ffa3a63a0f90148569249c Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Sun, 23 Jul 2017 01:12:36 +0300 Subject: [PATCH 72/88] Portable.Xaml nuget package uses pcl binary for net45 for some reason, switched back to submodule --- .gitmodules | 5 ++++- .../Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj | 9 ++++++--- .../PortableXaml/AvaloniaXamlObjectWriter.cs | 10 +++++----- .../PortableXaml/AvaloniaXamlSchemaContext.cs | 10 +++++----- .../PortableXaml/portable.xaml.github | 1 + 5 files changed, 21 insertions(+), 14 deletions(-) create mode 160000 src/Markup/Avalonia.Markup.Xaml/PortableXaml/portable.xaml.github diff --git a/.gitmodules b/.gitmodules index 773b291467..8d13c6572c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,4 +10,7 @@ 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 \ No newline at end of file + 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/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj index 2637cbc068..46dbe1566c 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj +++ b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj @@ -10,7 +10,7 @@ full false bin\Debug\ - TRACE;DEBUG + TRACE;DEBUG;NETSTANDARD1_3;PCL;NETSTANDARD prompt 4 CS1591 @@ -19,7 +19,7 @@ pdbonly true bin\Release\ - TRACE + NETSTANDARD1_3;PCL;NETSTANDARD prompt 4 bin\Release\Avalonia.Markup.Xaml.XML @@ -293,6 +293,7 @@ + @@ -304,7 +305,9 @@ - + + + diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs index 40bff5ed0b..f10de1a32f 100644 --- a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs @@ -54,7 +54,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml base.Dispose(disposing); } - protected override void OnAfterBeginInit(object value) + protected internal override void OnAfterBeginInit(object value) { //not called for avalonia objects //as it's called inly for @@ -62,7 +62,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml base.OnAfterBeginInit(value); } - protected override void OnAfterEndInit(object value) + protected internal override void OnAfterEndInit(object value) { //not called for avalonia objects //as it's called inly for @@ -70,7 +70,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml base.OnAfterEndInit(value); } - protected override void OnAfterProperties(object value) + protected internal override void OnAfterProperties(object value) { _delayedValuesHelper.EndInit(value); @@ -82,7 +82,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml HandleEndEdit(value); } - protected override void OnBeforeProperties(object value) + protected internal override void OnBeforeProperties(object value) { //OnAfterBeginInit is not called as it supports only //Portable.Xaml.ComponentModel.ISupportInitialize @@ -94,7 +94,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml base.OnBeforeProperties(value); } - protected override bool OnSetValue(object target, XamlMember member, object value) + protected internal override bool OnSetValue(object target, XamlMember member, object value) { if (_delayedValuesHelper.TryAdd(target, member, value)) { diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs index ee20be0efa..bdb21abd77 100644 --- a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs @@ -32,7 +32,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml private IRuntimeTypeProvider _avaloniaTypeProvider; - protected override XamlType GetXamlType(string xamlNamespace, string name, params XamlType[] typeArguments) + protected internal override XamlType GetXamlType(string xamlNamespace, string name, params XamlType[] typeArguments) { XamlType type = null; try @@ -142,10 +142,10 @@ namespace Avalonia.Markup.Xaml.PortableXaml #endregion Workaround for bug in Portablexaml system types like double,int etc ... - protected override ICustomAttributeProvider GetCustomAttributeProvider(Type type) + protected internal override ICustomAttributeProvider GetCustomAttributeProvider(Type type) => new AvaloniaTypeAttributeProvider(type); - protected override ICustomAttributeProvider GetCustomAttributeProvider(MemberInfo member) + protected internal override ICustomAttributeProvider GetCustomAttributeProvider(MemberInfo member) => new AvaloniaMemberAttributeProvider(member); public override XamlType GetXamlType(Type type) @@ -187,7 +187,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml return null; } - protected override XamlMember GetAttachableProperty(string attachablePropertyName, MethodInfo getter, MethodInfo setter) + protected internal override XamlMember GetAttachableProperty(string attachablePropertyName, MethodInfo getter, MethodInfo setter) { var key = MemberKey.Create(getter ?? setter, attachablePropertyName, "a"); @@ -218,7 +218,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml return _cachedMembers[key] = result; } - protected override XamlMember GetProperty(PropertyInfo pi) + protected internal override XamlMember GetProperty(PropertyInfo pi) { Type objType = pi.DeclaringType; string name = pi.Name; diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/portable.xaml.github b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/portable.xaml.github new file mode 160000 index 0000000000..d50730ab59 --- /dev/null +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/portable.xaml.github @@ -0,0 +1 @@ +Subproject commit d50730ab59aed99cd2f8aeb4975fcc19d23bb54f From ffc8e9f7a96ce65bf3e563d51410da3cda1ca16d Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Sun, 23 Jul 2017 01:13:57 +0300 Subject: [PATCH 73/88] Fixed NRE in GetBaseUri/GetLocalAssembly --- .../PortableXaml/TypeDescriptorExtensions.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/TypeDescriptorExtensions.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/TypeDescriptorExtensions.cs index de1b3fb977..81525fef7d 100644 --- a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/TypeDescriptorExtensions.cs +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/TypeDescriptorExtensions.cs @@ -62,12 +62,12 @@ namespace Portable.Xaml.ComponentModel public static Uri GetBaseUri(this ITypeDescriptorContext ctx) { - return ctx.GetWriterSettings()?.Context.BaseUri; + return ctx.GetWriterSettings()?.Context?.BaseUri; } public static Assembly GetLocalAssembly(this ITypeDescriptorContext ctx) { - return ctx.GetWriterSettings()?.Context.LocalAssembly; + return ctx.GetWriterSettings()?.Context?.LocalAssembly; } public static AvaloniaXamlContext GetAvaloniaXamlContext(this ITypeDescriptorContext ctx) From 04608a8975d0b428ea70b3145e1e5daf2da162d8 Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Sun, 23 Jul 2017 02:34:26 +0300 Subject: [PATCH 74/88] Enforce binding redirect generation --- build/XUnit.props | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/build/XUnit.props b/build/XUnit.props index 27e0afc987..d59cee6536 100644 --- a/build/XUnit.props +++ b/build/XUnit.props @@ -12,4 +12,16 @@ + + true + + + + + true + + From 880e850000b2770329c7008f5a088a834fa5eeda Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Sun, 23 Jul 2017 02:38:10 +0300 Subject: [PATCH 75/88] 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 76/88] 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 77/88] 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 78/88] 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 79/88] 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 80/88] 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