Como posso localizar e excluir referências não utilizadas em meus projetos?
Eu sei que você pode remover facilmente as instruções using no vs 2008, mas isso não remove a referência real em seus projetos. A dll referenciada ainda será copiada em seu pacote bin / setup.
.net
visual-studio
reference
Boris Callens
fonte
fonte
Respostas:
* 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.
fonte
você pode usar a extensão ' Remover referências não utilizadas ' que escrevi:
http://visualstudiogallery.msdn.microsoft.com/9811e528-cfa8-4fe7-9dd1-4021978b5097
fonte
A remoção de referências não utilizadas é um recurso que o Visual Studio 2008 já oferece suporte. Infelizmente, apenas para projetos VB .NET.
Abri uma sugestão no Microsoft Connect para obter esse recurso também para projetos C #:
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=510326
Se você também gosta desse recurso, pode votar na minha sugestão.
fonte
Experimente este: Assistente de Referência
fonte
O ReSharper 6.1 incluirá estes recursos:
Otimize as referências : analise suas referências de montagem e seus usos no código, obtenha lista de referências redundantes e remova-as.
Remover referências não utilizadas : refatoração rápida para remover referências de montagem redundantes.
Exclusão segura em referências de montagemExclusão : excluirá referências de montagem se todas elas forem redundantes, caso contrário, exibe os usos e pode remover apenas referências de montagem redundantes da lista selecionada.
fonte
O ReSharper fará isso por você (e muito mais!)
fonte
Eu fiz isso sem extensão no VS 2010 Ultimate Architecture-> Generate Dependency Graph-> By Assembly, ele mostra assemblies usados e referências não usadas removidas manualmente.
fonte
Tenho uma resposta gratuita que funciona em qualquer versão do Visual Studio e em qualquer versão do Framework. Não remove as referências não utilizadas, mas as identifica.
Você pode usar o Telerik JustDecompile na dll do seu projeto. Basta abrir a dll em JustDecompile e
References
verificar o que é realmente usado na dll compilada.fonte
Dado que VisualStudio (ou é msbuild?) Detecta referências não utilizadas e não as inclui no arquivo de saída, você pode escrever um script que analisa as referências fora do csproj, e compara isso com os Assemblies referenciados detectados por reflexão no saída do projeto.
Se você está motivado ...
fonte
Acho que estão copiados no bin \, porque no projeto que retirou a referência tem referência o outro projeto que tem a mesma referência ...
fonte
Se você souber quais referências não são usadas, você pode removê-las manualmente.
No Gerenciador de Soluções, clique com o botão direito do mouse na referência no nó Referências e clique em Remover.
fonte