public static bool IsErrorFromMissingAssembly(ITypeResolver typeResolver, XamlParseError parseError) { if (parseError.ErrorCode == 8 && parseError.Parameters.Count == 2) { string mapping = parseError.Parameters[0]; string clrNamespace = (string)null; string assemblyName = (string)null; if (XamlParser.TryParseClrNamespaceUri(mapping, out clrNamespace, out assemblyName)) { IAssembly assembly = assemblyName != null?typeResolver.GetAssembly(assemblyName) : typeResolver.ProjectAssembly; if (assembly != null && !assembly.IsLoaded) { return(true); } } } return(false); }
private IAssembly GetAssembly(ITypeResolver typeResolver, string assemblyName) { IAssembly assembly = null; if (!string.IsNullOrEmpty(assemblyName)) { assembly = typeResolver.GetAssembly(assemblyName); } else { assembly = typeResolver.ProjectAssembly; assemblyName = "__Blend_Unknown_Assembly"; } if (assembly == null) { assembly = ((IPlatformTypes)this.PlatformMetadata).CreateAssembly(assemblyName); } return(assembly); }