¿Cómo puedo encontrar y eliminar referencias no utilizadas en mis proyectos?
Sé que puede eliminar fácilmente las declaraciones de uso en vs 2008, pero esto no elimina la referencia real en sus proyectos. La dll a la que se hace referencia aún se copiará en su paquete bin / setup.
.net
visual-studio
reference
Boris Callens
fuente
fuente
Respuestas:
* Nota: consulte http://www.jetbrains.net/devnet/message/5244658 para obtener otra versión de esta respuesta.
Al leer las publicaciones, parece que hay cierta confusión en cuanto a la pregunta original. Déjame intentarlo.
La publicación original realmente hace la pregunta: "¿Cómo identifico y elimino referencias de un proyecto de Visual Studio a otros proyectos / ensamblajes que no están en uso?" El cartel quiere que los ensamblajes ya no aparezcan como parte del resultado de la compilación.
En este caso, ReSharper puede ayudarlo a identificarlos , pero debe eliminarlos usted mismo.
Para hacer esto, abra Referencias en el Navegador de soluciones, haga clic con el botón derecho del mouse en cada ensamblaje referenciado y seleccione "Buscar código dependiente". Ver:
http://www.jetbrains.com/resharper/features/navigation_search.html#Find_ReferencedDependent_Code
Obtendrá:
Una lista de las dependencias de esa referencia en una ventana del navegador, o
Un cuadro de diálogo que le dice "No se encontró el código dependiente del módulo XXXXXXX".
Si obtiene el segundo resultado, puede hacer clic con el botón derecho del mouse en la Referencia, seleccionar Eliminar y eliminarla de su proyecto.
Si bien tiene que hacerlo "manualmente", es decir, una referencia a la vez, hará el trabajo. Si alguien ha automatizado esto de alguna manera, me interesa saber cómo se hizo.
Puede ignorar prácticamente los que están en .Net Framework, ya que normalmente no se copian en la salida de su compilación (generalmente, aunque no necesariamente es cierto para las aplicaciones Silverlight).
Algunas publicaciones parecen responder a la pregunta: "¿Cómo elimino las cláusulas de uso (C #) de un archivo de código fuente que no son necesarias para resolver ninguna referencia dentro de ese archivo?".
En este caso, ReSharper ayuda de dos maneras:
Identifica las cláusulas using no utilizadas durante la detección de errores sobre la marcha. Aparecen como advertencias de inspección de código: el código aparecerá atenuado (por defecto) en el archivo y ReSharper proporcionará una pista para eliminarlo:
http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection
Le permite eliminarlos automáticamente como parte del proceso de limpieza de código:
http://www.jetbrains.com/resharper/features/code_formatting.html#Optimizing_Namespace_Import_Directives
Finalmente, tenga en cuenta que ReSharper realiza análisis de código estático en su solución. Por lo tanto, si tiene una referencia dinámica al ensamblaje, por ejemplo, a través de la reflexión o un ensamblaje que se carga dinámicamente en tiempo de ejecución y se accede a través de una interfaz, no lo detectará. No hay sustituto para comprender su base de código y las dependencias del proyecto mientras trabaja en su proyecto. Encuentro las características de ReSharper muy útiles.
fuente
puede usar la extensión ' Eliminar referencias no utilizadas ' que escribí:
http://visualstudiogallery.msdn.microsoft.com/9811e528-cfa8-4fe7-9dd1-4021978b5097
fuente
La eliminación de referencias no utilizadas es una función que Visual Studio 2008 ya admite. Desafortunadamente, solo para proyectos VB .NET.
También he abierto una sugerencia en Microsoft Connect para obtener esta función para proyectos de C #:
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=510326
Si también te gusta esta función, puedes votar mi sugerencia.
fuente
Prueba este: Asistente de referencia
fuente
ReSharper 6.1 incluirá estas características:
Optimice las referencias : analice sus referencias de ensamblaje y sus usos en el código, obtenga una lista de referencias redundantes y elimínelas.
Eliminar referencias no utilizadas : refactorización rápida para eliminar referencias de ensamblaje redundantes.
Eliminación segura de referencias de ensamblado : eliminará las referencias de ensamblado si todas son redundantes; de lo contrario, disipa los usos y solo puede eliminar las referencias de ensamblaje redundantes de la lista seleccionada.
fuente
ReSharper hará esto por usted (¡y mucho más!)
fuente
Hice esto sin extensión en VS 2010 Ultimate Architecture-> Generate Dependency Graph-> By Assembly, muestra los ensamblajes usados y las referencias no utilizadas eliminadas manualmente.
fuente
Tengo una respuesta gratuita que funciona en cualquier versión de Visual Studio y en cualquier versión de Framework. No elimina las referencias no utilizadas, pero las identifica.
Puede utilizar Telerik JustDecompile en su dll de proyecto. Simplemente abra el dll en JustDecompile y vaya debajo
References
para ver qué se usa realmente en el dll compilado.fuente
Dado que VisualStudio (¿o es msbuild?) Detecta referencias no utilizadas y no las incluye en el archivo de salida, puede escribir un script que analice las referencias fuera del csproj y las compare con los ensamblados referenciados detectados por reflexión en el salida del proyecto.
Si estás motivado ...
fuente
Creo que se copian en bin \, porque en el proyecto que eliminó la referencia hay referencia a otro proyecto que tiene la misma referencia ...
fuente
Si sabe qué referencias no se utilizan, puede eliminarlas manualmente.
En el Explorador de soluciones, haga clic con el botón derecho en la referencia en el nodo Referencias y luego haga clic en Quitar.
fuente