2011-04-19 4 views
2

Visual Studio에서 기능, 스크립트 또는 도구를 사용하여 솔루션의 코드에서 참조하지 않는 메서드를 제거하려고합니다.Visual Studio에서 참조되지 않는 메서드를 자동으로 제거하는 도구

내 모든 프로젝트는 하나의 솔루션 (즉, 외부 클래스 라이브러리 없음)에 있습니다.

일반적으로 메서드를 마우스 오른쪽 단추로 클릭하고 "모든 참조 찾기"를 선택하고 메서드 선언이 유일한 참조 인 경우 해당 메서드를 삭제하여 코드를 정리할 수 있습니다.

나를 위해 이것은 코드 분석/역 엔지니어링 프로세스에서 도움이됩니다.

답변

2

나는이 제품의 관점에서 옳은 일이 아니다라고 생각합니다. 외부 응용 프로그램에서 클래스를 참조하고 해당 외부 응용 프로그램에서 공개 메서드를 사용하는 경우 모든 참조 찾기를 사용하면 해당 참조가 솔루션에서 표시되지 않습니다. 이러한 메서드를 제거하면 해당 참조를 참조하는 응용 프로그램 수업이 중단됩니다 (현재 상황에서 문제가되지는 않지만 일반적으로 문제가 될 수 있음). 따라서 이것이 유용한 기능이 될지 의심 스럽습니다.

+0

나는 그것을 완전히 이해하고 있지만, 나는이 해결책을 염려하지 않는다. – JohnB

+2

일반적으로 이것은 외부 종속성에 의해 참조되는 어셈블리 나 실행 파일의 공용 메서드에 문제가 될 수 있다는 것에 동의합니다. 이 경우 메서드에서 [Obsolete] 특성을 사용하고 삭제하지 않고 해당 특성을 쓸모없는 것으로 표시 할 수 있습니다. 그러나이 경우 @JohnB는 "외부 클래스 라이브러리가 없음"이라는 외부 종속성이 없으며 단일 솔루션의 범위 내에서 사용할 항목을 찾고 있다고 설명했습니다. 나는 ReSharper가 이것을 달성하기위한 훌륭한 도구라는 것에 동의합니다. –

관련 문제