내 프로젝트에서 사용하지 않는 참조를 찾고 삭제할 수 있습니까?
2008 년과 비교하여 using 문을 쉽게 제거 할 수 있다는 것을 알고 있지만 이것이 프로젝트에서 실제 참조를 제거하지는 않습니다. 참조 된 dll은 여전히 bin / setup 패키지에 복사됩니다.
내 프로젝트에서 사용하지 않는 참조를 찾고 삭제할 수 있습니까?
2008 년과 비교하여 using 문을 쉽게 제거 할 수 있다는 것을 알고 있지만 이것이 프로젝트에서 실제 참조를 제거하지는 않습니다. 참조 된 dll은 여전히 bin / setup 패키지에 복사됩니다.
답변:
* 참고 : 이 답변의 다른 버전 은 http://www.jetbrains.net/devnet/message/5244658 을 참조 하십시오 .
게시물을 읽어 보면 원래 질문에 대해 약간의 혼란이있는 것 같습니다. 내가 찔러 보자.
원래 게시물은 실제로 "한 Visual Studio 프로젝트에서 사용하지 않는 다른 프로젝트 / 어셈블리에 대한 참조를 식별하고 제거하려면 어떻게해야합니까?"라는 질문을 던지고 있습니다. 포스터는 어셈블리가 더 이상 빌드 출력의 일부로 나타나지 않기를 원합니다.
이 경우 ReSharper가이를 식별 하는 데 도움을 줄 수 있지만 직접 제거 해야합니다.
이렇게하려면 솔루션 브라우저에서 참조를 열고 참조 된 각 어셈블리를 마우스 오른쪽 단추로 클릭 한 다음 "종속 코드 찾기"를 선택합니다. 보다:
http://www.jetbrains.com/resharper/features/navigation_search.html#Find_ReferencedDependent_Code
다음 중 하나를 얻을 수 있습니다.
브라우저 창에서 해당 참조에 대한 종속성 목록 또는
"XXXXXXX 모듈에 종속 된 코드를 찾을 수 없습니다."라는 대화 상자가 나타납니다.
두 번째 결과가 나오면 참조를 마우스 오른쪽 버튼으로 클릭하고 제거를 선택한 다음 프로젝트에서 제거 할 수 있습니다.
이 "수동", 즉 한 번에 하나의 참조를 수행해야하는 동안 작업이 완료됩니다. 누군가 이것을 어떤 방식 으로든 자동화했다면 나는 그것이 어떻게 이루어 졌는지 듣고 싶습니다.
.Net Framework의 항목은 일반적으로 빌드 출력에 복사되지 않으므로 무시할 수 있습니다 (일반적으로 Silverlight 앱의 경우에는 해당되지 않음).
일부 게시물은 "해당 파일 내의 참조를 확인하는 데 필요하지 않은 소스 코드 파일에서 using 절 (C #)을 어떻게 제거합니까?"라는 질문에 대답하는 것 같습니다.
이 경우 ReSharper는 다음과 같은 몇 가지 방법으로 도움을줍니다.
즉석 오류 감지 중에 사용되지 않는 using 절을 식별합니다. 코드 검사 경고로 나타납니다. 코드는 파일에서 회색으로 표시되고 (기본값) ReSharper에서 제거 할 수있는 힌트를 제공합니다.
http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection
코드 정리 프로세스의 일부로 자동으로 제거 할 수 있습니다.
마지막으로 ReSharper가 솔루션에서 정적 코드 분석을 수행한다는 사실을 인식하십시오. 따라서 어셈블리에 대한 동적 참조 (예 : 리플렉션을 통해 또는 런타임에 동적으로로드되고 인터페이스를 통해 액세스되는 어셈블리)가있는 경우 해당 어셈블리를 선택하지 않습니다. 프로젝트에서 작업 할 때 코드베이스와 프로젝트 종속성을 이해하는 대신 대체 할 수 없습니다. ReSharper 기능이 매우 유용하다고 생각합니다.
내가 작성한 ' 사용하지 않는 참조 제거 '확장을 사용할 수 있습니다 .
http://visualstudiogallery.msdn.microsoft.com/9811e528-cfa8-4fe7-9dd1-4021978b5097
사용하지 않는 참조를 제거하는 것은 Visual Studio 2008이 이미 지원하는 기능입니다. 불행히도 VB .NET 프로젝트에만 해당됩니다.
C # 프로젝트에서도이 기능을 사용하기 위해 Microsoft Connect에 대한 제안을 열었습니다.
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=510326
이 기능도 마음에 들면 내 제안에 투표 할 수 있습니다.
이것을 시도하십시오 : 참조 도우미
요약
참조 도우미는 Visual Studio 2010의 C #, F #, VB.NET 또는 VC ++ / CLI 프로젝트에서 사용하지 않는 참조를 제거하는 데 도움이됩니다.
ReSharper 가이 작업을 수행 할 것입니다 (그리고 훨씬 더!)
VS 2010 Ultimate Architecture-> Generate Dependency Graph-> By Assembly에서 확장없이이 작업을 수행했으며 사용 된 어셈블리를 표시하고 사용하지 않는 참조를 수동으로 제거했습니다.
모든 버전의 Visual Studio 및 모든 프레임 워크 버전에서 작동하는 무료 답변이 있습니다. 사용하지 않는 참조를 제거하지는 않지만 식별합니다.
프로젝트 dll에서 Telerik JustDecompile 을 사용할 수 있습니다 . JustDecompile에서 dll을 열고 아래 References
로 이동 하여 컴파일 된 dll에서 실제로 사용되는 내용을 확인하십시오.
VisualStudio (또는 msbuild입니까?)가 사용하지 않는 참조를 감지하고 출력 파일에 포함하지 않는 경우 csproj에서 참조를 구문 분석하고이를 참조 된 어셈블리와 비교하는 스크립트를 작성할 수 있습니다. 프로젝트 출력.
동기가 있다면 ...