* Observação: consulte http://www.jetbrains.net/devnet/message/5244658 para obter outra versão desta resposta.
Lendo as postagens, parece que há alguma confusão quanto à pergunta original. Deixe-me dar uma olhada.
A postagem original está realmente fazendo a seguinte pergunta: "Como posso identificar e remover referências de um projeto do Visual Studio para outros projetos / assemblies que não estão em uso?" O pôster deseja que as montagens não apareçam mais como parte da saída de construção.
Nesse caso, o ReSharper pode ajudá-lo a identificá- los, mas você mesmo deve removê- los.
Para fazer isso, abra References no Solution Browser, clique com o botão direito do mouse em cada assembly referenciado e selecione "Find Dependent Code". Vejo:
http://www.jetbrains.com/resharper/features/navigation_search.html#Find_ReferencedDependent_Code
Você obterá:
Uma lista das dependências dessa referência em uma janela do navegador, ou
Uma caixa de diálogo informando "Código dependente do módulo XXXXXXX não foi encontrado.".
Se você obtiver o segundo resultado, poderá clicar com o botão direito do mouse na Referência, selecionar Remover e removê-la de seu projeto.
Embora você tenha que fazer isso "manualmente", ou seja, uma referência por vez, ele fará o trabalho. Se alguém automatizou isso de alguma forma, estou interessado em saber como foi feito.
Você pode praticamente ignorar os do .Net Framework, já que eles normalmente não são copiados para a saída de compilação (normalmente - embora não necessariamente verdadeiro para aplicativos Silverlight).
Algumas postagens parecem responder à pergunta: "Como faço para remover cláusulas de uso (C #) de um arquivo de código-fonte que não são necessárias para resolver quaisquer referências nesse arquivo".
Nesse caso, o ReSharper ajuda de duas maneiras:
Identifica cláusulas não utilizadas para você durante a detecção de erros em tempo real. Eles aparecem como Avisos de inspeção de código - o código aparecerá acinzentado (o padrão) no arquivo e o ReSharper fornecerá uma dica para removê-lo:
http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection
Permite que você os remova automaticamente como parte do processo de limpeza do código:
http://www.jetbrains.com/resharper/features/code_formatting.html#Optimizing_Namespace_Import_Directives
Finalmente, perceba que o ReSharper faz análises estáticas de código em sua solução. Portanto, se você tiver uma referência dinâmica à montagem - digamos por meio de reflexão ou uma montagem que é carregada dinamicamente no tempo de execução e acessada por meio de uma interface - ela não a pegará. Não há substituto para entender sua base de código e as dependências do projeto enquanto você trabalha em seu projeto. Acho os recursos do ReSharper muito úteis.