Eliminați referințele neutilizate (! = „Folosind“)

voturi
100

Cum pot găsi și șterge referințele neutilizate în proiectele mele?

Știu că pot elimina cu ușurință folosind declarațiile din vs 2008, dar acest lucru nu elimină referința reală în proiectele tale. Dll de referință va fi în continuare copiat în pachetul bin / configurare.

Întrebat 17/09/2008 la 08:55
sursa de către utilizator
În alte limbi...                            


11 răspunsuri

voturi
4

Resharper va face acest lucru pentru tine (și așa mai departe atât de mult mai mult!)

Publicat 17/09/2008 la 08:57
sursa de către utilizator

voturi
0

Având în vedere că VisualStudio (sau este MSBuild?) Detectează referințele neutilizate și nu le include în fișierul de ieșire, puteți scrie un script care analizează trimiterile din din csproj, și compară cu care se face referire Adunările detectate de reflexiei pe de ieșire proiect.

Daca esti motivat ...

Publicat 23/10/2008 la 06:21
sursa de către utilizator

voturi
55

* Notă: a se vedea http://www.jetbrains.net/devnet/message/5244658 pentru o altă versiune a acestui răspuns.

Citind posturile, se pare că există o anumită confuzie cu privire la întrebarea inițială. Lasă-mă să o lovitură de cuțit la ea.

Postul original este într-adevăr cere întrebarea: „Cum pot identifica și elimina referințele dintr-un proiect Visual Studio pentru alte proiecte / ansambluri care nu sunt în uz?“ Afișul vrea ansamblurile să nu mai apară ca parte a producției construi.

În acest caz, Resharper vă poate ajuta să identificați ei, dar trebuie să eliminați - le tine.

Pentru a face acest lucru, deschide Referințe inth Solution Browser, faceți clic dreapta pe fiecare ansamblu de referință, și alege „Find Code dependent“. Vedea:

http://www.jetbrains.com/resharper/features/navigation_search.html#Find_ReferencedDependent_Code

Vei primi fie:

  1. O listă a dependențele pe această referință într-o fereastră de browser, sau

  2. Un dialog care vă spune „Codul dependent de XXXXXXX modul nu a fost găsit.“.

Dacă obține al doilea rezultat, puteți apoi să faceți clic pe mouse-dreapta Reference, selectați Eliminare și scoateți-l din proiectul dumneavoastră.

În timp ce trebuie sa la acest „manual“, adică o referință la un moment dat, se va face treaba. Dacă cineva a automatizat acest lucru într-un fel Sunt interesat de audiere cum a fost făcut.

Puteți ignora destul de mult pe cele din .Net Framework, deoarece nu, in mod normal copiate de ieșire dvs. construi (de obicei - cu toate că nu este neapărat adevărat pentru aplicațiile Silverlight).

Unele posturi par să fie răspunsul la întrebarea: „Cum pot elimina folosind clauzele (C #) dintr-un fișier de cod sursă care nu sunt necesare pentru a rezolva orice referințe în acel dosar“.

În acest caz, Resharper ajută în câteva moduri:

  1. Identifică folosind clauze neutilizate pentru timpul pe detectarea erorii zbura. Ele apar ca avertismente de inspecție de cod - codul va apărea culoarea gri (fie implicit) în fișierul și Resharper va oferi un indiciu pentru al elimina:

    http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection

  2. Vă permite să le eliminați în mod automat, ca parte a procesului de Cod Cleanup:

    http://www.jetbrains.com/resharper/features/code_formatting.html#Optimizing_Namespace_Import_Directives

În cele din urmă, dau seama că Resharper face analiza codul static pe soluția. Deci, dacă aveți o referință dinamică a ansamblului - spune prin reflecție sau un ansamblu care este încărcată dinamic în timpul rulării și accesate prin intermediul unei interfețe - nu se va ridica. Nu există nici un substitut pentru înțelegerea dvs. de baza codului și dependențele de proiect în timp ce lucra la proiectul dumneavoastră. Fac găsi Resharper caracteristici foarte utile.

Publicat 05/09/2009 la 07:19
sursa de către utilizator

voturi
7

Eliminarea referințelor neutilizate este o caracteristică Visual Studio 2008 suportă deja. Din păcate, numai pentru proiecte VB .NET.

Am deschis o sugestie pentru Microsoft Connect pentru ca această caracteristică pentru C # proiecte prea:

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=510326

Dacă vă place această facilitate, atunci s-ar putea vota sugestia mea.

Publicat 13/11/2009 la 12:58
sursa de către utilizator

voturi
12

puteți utiliza „ Eliminare Referințe neutilizate “ extension am scris:

http://visualstudiogallery.msdn.microsoft.com/9811e528-cfa8-4fe7-9dd1-4021978b5097

Publicat 11/05/2011 la 07:39
sursa de către utilizator

voturi
4

Resharper 6.1 va include aceste caracteristici:

-Optimize referințe: analiza referințelor de asamblare și uzanțele lor în cod, pentru a primi lista de referințe redundante și a le elimina.

-Stergem neutilizate Referințe: refactorizare rapidă pentru a elimina referințele redundante de asamblare.

-Safe șterge pe referințe de asamblare: se va șterge referințele de asamblare dacă toate acestea sunt redundante, în caz contrar dispalies uzanțele și pot elimina numai referințele de asamblare redundante din lista selectată.

Publicat 15/11/2011 la 07:17
sursa de către utilizator

voturi
5

Încercați aceasta: Asistent de referință

rezumat

Asistent de referință ajută la eliminarea referințelor neutilizate din C #, F #, VB.NET sau proiecte VC ++ / CLI în Visual Studio 2010.

Publicat 05/02/2012 la 23:38
sursa de către utilizator

voturi
3

Am făcut acest lucru fără extensie în VS 2010 Ultimate urma arhitecturii> Generează Dependență Graph-> După asamblare, se arată ansambluri utilizate și îndepărtate manual referințele neutilizate.

Publicat 28/10/2012 la 08:29
sursa de către utilizator

voturi
0

Cred că sunt copiate în bin \, pentru că în proiectul care a eliminat referința de referință au o alt proiect, care au aceeași referință ...

Publicat 08/12/2014 la 16:44
sursa de către utilizator

voturi
1

Am un răspuns liber, care funcționează în orice versiune de Visual Studio și orice versiune cadru. Aceasta nu elimină trimiterile neutilizate, dar le identifică.

Puteți utiliza Telerik JustDecompile pe dll dvs. de proiect. Doar deschide dll în JustDecompile și du - te sub Referencespentru a vedea ce este de fapt utilizat în dll compilat.

introduceți descrierea imaginii aici

Publicat 26/08/2015 la 16:06
sursa de către utilizator

voturi
0

Dacă știți ce referințe nu sunt utilizate le puteți elimina manual.
În Solution Explorer, faceți clic dreapta referință în Referințe nod, și apoi faceți clic pe Eliminare.

Publicat 18/12/2015 la 10:22
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more