.net - ventajas - Visual Studio: detección de ensamblajes innecesarios
visual studio code (10)
Como se mencionó en las respuestas anteriores, Resharper funciona bien para esto, así como para una variedad de otros casos, como formas de hacer código más limpio y generar ciertas cosas para usted. La mejor manera de descubrir realmente todas las ventajas de Resharper es descargar la versión de prueba, imprimir una hoja de seguimiento de Keymap y pegarla junto a usted en el lugar en el que se está desarrollando.
Para resumir, resuelve este problema, pero hace muchísimo más que eso.
En proyectos de mayor y / o larga ejecución, tiendo a hacer referencia a muchos ensambles y espacios de nombres, y a menudo termino eliminando alguna funcionalidad más adelante o moviéndola a un proyecto diferente.
Me pregunto, ¿hay alguna manera de verificar cada proyecto (diablos, cada archivo .cs) en mi solución completa de Visual Studio y obtener una lista de todos los ensamblados y espacios de nombres a los que se hace referencia que no se están utilizando realmente y se pueden eliminar de forma segura? Sé que ReSharper puede hacerlo por un solo archivo de código, pero no vi una opción para verificar todos los archivos o para verificar los ensamblajes innecesarios.
Usando Visual Studio 2005 y 2008 Professional si eso importa.
Editar: Gracias hasta ahora. El problema con ReSharper o "Eliminar y leer si se rompe la construcción" es que es bastante tedioso en cada archivo y ensamblaje (Mi proyecto tiene aproximadamente 120 archivos .cs en 7 ensamblajes y hace referencia a un total de 18 ensamblajes fuera de la solución), idealmente estoy buscando algo "con un solo clic". Grandes puntos de bonificación por alguna forma automática que se puede usar en compilaciones para generar un informe :)
Cualquier analizador de código decente hará esto por usted. Me gusta DevPartner personalmente.
No eliminará ninguna referencia en el código de los ensamblados a los que hace referencia (creo), pero puede ir a las propiedades de cada uno de sus proyectos, acceder a Referencias y hacer clic en "Referencias no utilizadas ...". Visual Studio le da la opción de eliminarlos allí mismo.
Sin embargo, no hay forma de hacerlo en el nivel de la solución.
Sí, no creo que haya uno. Solo elimino algunos que no creo que sean necesarios, entonces compila: /
Por cierto. eso seguirá usando errores. Puede usar los comandos de Visual Studio Power para eliminar y ordenar los usos, por lo tanto, haga eso primero, luego elimine ensamblajes aleatorios: D
Si tiene ReSharper instalado, desde el Explorador de soluciones puede hacer clic derecho en una referencia y hacer clic en Buscar código dependiente . Si vuelve con un diálogo de resultados, entonces está usando esa referencia / ensamblaje. Si aparece el mensaje "El código depende del nombre del módulo del módulo no encontrado". Entonces debería estar bien para eliminar esa referencia / ensamblaje porque no se está utilizando.
Resharper hará esto por usted y puede configurarlo en la opción Código limpio que puede ejecutar en toda la solución;
Si tiene ReSharper, seleccione la solución, haga clic derecho y seleccione el código de limpieza. Resharper revisará cada archivo de código en la solución.
En cuanto a la eliminación de referencias de proyectos, cuando se ejecuta el compilador, no agregará la referencia si ningún código usa ese dll.
Encontré esta pregunta mientras buscaba en Google y buscaba la manera de eliminar las declaraciones de "Uso" no utilizadas de mi código.
Refactor es genial, pero no está disponible para mí. Sin embargo, como resultado, Visual Studio 2008 hace esto por sí mismo.
Estos son los pasos:
- Cargue el código en Visual Studio.
- Haga clic derecho en cualquier lugar en la página de códigos.
- Haga clic en "Organizar usos" en el menú.
- Haga clic en "Eliminar usos no utilizados"
Hecho. Me doy cuenta de que esto no responde a la pregunta original (hacer esto en masa para un proyecto completo) pero responde mi pregunta.
La eliminación de referencias no utilizadas es una característica que Visual Studio 2008 ya admite. Desafortunadamente, solo para proyectos VB .NET.
También abrí una sugerencia sobre Microsoft Connect para obtener esta característica para proyectos de C #:
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=510326
Si también te gusta esta característica, puedes votar mi sugerencia.
(Publicada de forma cruzada desde aquí ) Dado que VisualStudio (¿o es msbuild?) Detecta referencias no utilizadas y no las incluye en el archivo de salida, puede escribir una secuencia de comandos que analiza las referencias fuera de csproj y las compara con la Conjuntos referenciados detectados por reflexión en la salida del proyecto.
Si estás motivado ...