/// <summary> /// Resolve assembly. /// </summary> /// <param name="name">Name of the assembly.</param> /// <returns>Returns resolved assembly.</returns> public override AssemblyDefinition Resolve(AssemblyNameReference name) { if (name == null) { throw Error.ArgumentNull("name"); } AssemblyDefinition assemblyDefinition = null; if (_cache.TryGetValue(name.FullName, out assemblyDefinition)) { return(assemblyDefinition); } var projectRef = _projectReferences.SingleOrDefault(item => name.IsEquals(item, true)); assemblyDefinition = (projectRef != null && projectRef.CompareTo(name.FullName) != 0) ? ReadAssembly(projectRef) : base.Resolve(name); return(AddToCache(assemblyDefinition)); }