Comment trouver et supprimer les références inutilisées dans mes projets?
Je sais que vous pouvez facilement supprimer les instructions using dans vs 2008, mais cela ne supprime pas la référence réelle dans vos projets. La dll référencée sera toujours copiée dans votre package bin / setup.
.net
visual-studio
reference
Boris Callens
la source
la source
Réponses:
* Remarque: voir http://www.jetbrains.net/devnet/message/5244658 pour une autre version de cette réponse.
En lisant les articles, il semble y avoir une certaine confusion quant à la question d'origine. Laisse-moi essayer.
La publication d'origine pose vraiment la question: «Comment identifier et supprimer des références d'un projet Visual Studio à d'autres projets / assemblys qui ne sont pas utilisés?» L'affiche souhaite que les assemblys n'apparaissent plus dans le cadre de la sortie de génération.
Dans ce cas, ReSharper peut vous aider à les identifier , mais vous devez les supprimer vous-même.
Pour ce faire, ouvrez les références dans le navigateur de solutions, cliquez avec le bouton droit de la souris sur chaque assembly référencé et choisissez «Rechercher le code dépendant». Voir:
http://www.jetbrains.com/resharper/features/navigation_search.html#Find_ReferencedDependent_Code
Vous obtiendrez soit:
Une liste des dépendances sur cette référence dans une fenêtre de navigateur, ou
Une boîte de dialogue vous indiquant "Le code dépendant du module XXXXXXX est introuvable.".
Si vous obtenez le deuxième résultat, vous pouvez alors cliquer avec le bouton droit de la souris sur la référence, sélectionner Supprimer et la supprimer de votre projet.
Bien que vous deviez le faire «manuellement», c'est-à-dire une référence à la fois, le travail sera accompli. Si quelqu'un a automatisé cela d'une manière ou d'une autre, j'aimerais savoir comment cela a été fait.
Vous pouvez à peu près ignorer ceux du .Net Framework car ils ne sont normalement pas copiés dans votre sortie de construction (généralement - mais pas nécessairement vrai pour les applications Silverlight).
Certains articles semblent répondre à la question: "Comment supprimer les clauses using (C #) d'un fichier de code source qui ne sont pas nécessaires pour résoudre les références dans ce fichier".
Dans ce cas, ReSharper aide de plusieurs manières:
Identifie les clauses d'utilisation inutilisées pour vous lors de la détection d'erreur à la volée. Ils apparaissent sous forme d'avertissements d'inspection de code - le code apparaîtra grisé (par défaut) dans le fichier et ReSharper fournira un indice pour le supprimer:
http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection
Vous permet de les supprimer automatiquement dans le cadre du processus de nettoyage de code:
http://www.jetbrains.com/resharper/features/code_formatting.html#Optimizing_Namespace_Import_Directives
Enfin, sachez que ReSharper effectue une analyse de code statique sur votre solution. Ainsi, si vous avez une référence dynamique à l'assembly - par exemple par réflexion ou par un assembly chargé dynamiquement au moment de l'exécution et accessible via une interface - il ne la récupérera pas. Il n'y a pas de substitut pour comprendre votre base de code et les dépendances du projet lorsque vous travaillez sur votre projet. Je trouve les fonctionnalités de ReSharper très utiles.
la source
vous pouvez utiliser l' extension ` ` Supprimer les références inutilisées '' que j'ai écrite:
http://visualstudiogallery.msdn.microsoft.com/9811e528-cfa8-4fe7-9dd1-4021978b5097
la source
La suppression des références inutilisées est une fonctionnalité déjà prise en charge par Visual Studio 2008. Malheureusement, uniquement pour les projets VB .NET.
J'ai ouvert une suggestion sur Microsoft Connect pour obtenir cette fonctionnalité pour les projets C # également:
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=510326
Si vous aimez également cette fonctionnalité, vous pouvez voter ma suggestion.
la source
Essayez celui-ci: Assistant de référence
la source
ReSharper 6.1 inclura ces fonctionnalités:
Optimiser les références : analysez vos références d'assemblage et leurs utilisations dans le code, obtenez la liste des références redondantes et supprimez-les.
Supprimer les références inutilisées : refactoring rapide pour supprimer les références d'assemblage redondantes.
Suppression sûre sur les références d'assemblage : supprimera les références d'assemblage si toutes sont redondantes, sinon annule les utilisations et ne peut supprimer que les références d'assemblage redondantes de la liste sélectionnée.
la source
ReSharper le fera pour vous (et bien plus encore!)
la source
Je l'ai fait sans extension dans VS 2010 Ultimate Architecture-> Generate Dependency Graph-> By Assembly, il montre les assemblages utilisés et les références inutilisées supprimées manuellement.
la source
J'ai une réponse gratuite qui fonctionne dans n'importe quelle version de Visual Studio et n'importe quelle version de Framework. Il ne supprime pas les références inutilisées, mais les identifie.
Vous pouvez utiliser Telerik JustDecompile sur la DLL de votre projet. Ouvrez simplement la dll dans JustDecompile et allez sous
References
pour voir ce qui est réellement utilisé dans la dll compilée.la source
Étant donné que VisualStudio (ou est-ce msbuild?) Détecte les références inutilisées et ne les inclut pas dans le fichier de sortie, vous pouvez écrire un script qui analyse les références hors du csproj et les compare avec les assemblys référencés détectés par réflexion sur le résultat du projet.
Si vous êtes motivé ...
la source
Je pense que sont copiés dans le bac \, car dans le projet qui a supprimé la référence, il y a une référence à un autre projet qui a la même référence ...
la source
Si vous savez quelles références ne sont pas utilisées, vous pouvez les supprimer manuellement.
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur la référence dans le nœud Références , puis cliquez sur Supprimer.
la source