From: Sebastien Pouliot Date: Wed, 22 Apr 2015 01:29:56 +0000 (-0400) Subject: [linker] Resolve AssemblyName[Reference] when sweeping [#29211] X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=a497d8ad0cae2a9958d84e7d266122296de0aa23;p=mono.git [linker] Resolve AssemblyName[Reference] when sweeping [#29211] The exact name (e.g. version) might differ between the original AssemblyNameReference and the one being used (e.g. PCL). To make sure we remove unused references we need to resolve the AssemblyNameReference into AssemblyDefinition and then continue the sweep based on the _new_ AssemblyNameReference. --- diff --git a/mcs/tools/linker/Mono.Linker.Steps/SweepStep.cs b/mcs/tools/linker/Mono.Linker.Steps/SweepStep.cs index d7be23ac9e3..808d09255fe 100644 --- a/mcs/tools/linker/Mono.Linker.Steps/SweepStep.cs +++ b/mcs/tools/linker/Mono.Linker.Steps/SweepStep.cs @@ -100,7 +100,8 @@ namespace Mono.Linker.Steps { var references = assembly.MainModule.AssemblyReferences; for (int i = 0; i < references.Count; i++) { var reference = references [i]; - if (!AreSameReference (reference, target.Name)) + var r = Context.Resolver.Resolve (reference); + if (!AreSameReference (r.Name, target.Name)) continue; references.RemoveAt (i);