From 51d3780576d0ae3eb32dc0ca64b52c0cfaf83f7c Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Mon, 14 Sep 2015 15:41:24 +0300 Subject: [PATCH] Fixed metadata deserialization for VS --- src/Windows/Perspex.Designer/Comm/CommChannel.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Windows/Perspex.Designer/Comm/CommChannel.cs b/src/Windows/Perspex.Designer/Comm/CommChannel.cs index 67a5ca71bd..4e7bc641c9 100644 --- a/src/Windows/Perspex.Designer/Comm/CommChannel.cs +++ b/src/Windows/Perspex.Designer/Comm/CommChannel.cs @@ -104,8 +104,17 @@ namespace Perspex.Designer.Comm sealed class BinderFix : SerializationBinder { + private const string ListNamePrefix = "System.Collections.Generic.List`1[["; public override Type BindToType(string assemblyName, string typeName) { + if (typeName.StartsWith(ListNamePrefix)) + { + typeName = typeName.Substring(ListNamePrefix.Length); + typeName = typeName.Substring(0, typeName.IndexOf(",")); + return typeof (List<>).MakeGenericType(BindToType(assemblyName, typeName)); + } + + return typeof (CommChannel).Assembly.GetType(typeName, false, true); }