I have read that removing unused references makes no difference to the compiler as it ignores assemblies that are not being referenced in the code itself.
But I find it hard to believe because then, what is the real purpose of Removing unused references? It doesn't have any noticeable effect on the size of the generated assembly or otherwise. Or is this smart behaviour limited to the C# compiler (csc.exe) and not inherent to vbc.exe?
If this functionality is so useless, why does ReSharper offer it as a feature? Why is it provided within the Visual Studio Project Configuration dialog?
The only activity I can think of where this would be useful is during Deployment. References (used or unused) would still be copied by the installer. But for assemblies that reside in the GAC (for instance, BCL assemblies), this would not be a problem either.