Resharper- 사용하지 않는 모든 클래스 찾기
파일을 마우스 오른쪽 버튼으로 클릭하고 "용도 찾기"옵션을 선택하여 단일 파일의 사용되지 않은 참조를 찾는 방법을 알고 있습니다. 내 프로젝트에서 사용되지 않는 모든 클래스 또는 파일 목록을 보거나 얻을 수있는 방법이 있습니까?
먼저 "솔루션에서 오류 분석"을 활성화하십시오 (상태 표시 줄에서 Resharper 아이콘을 마우스 오른쪽 버튼으로 클릭).
그런 다음 솔루션 노드를 마우스 오른쪽 단추로 클릭하고 "코드 문제 찾기"를 선택하십시오. "검사 결과"도구 창에서 "문제 유형"별로 그룹화하고 사용되지 않은 모든 클래스 (및 더 많은 사용되지 않은 기호)를 얻기 위해 "유형 또는 유형 멤버가 사용되지 않음"을 찾을 수 있습니다.
두 번째 옵션 ( "솔루션에서 오류 분석"을 활성화 한 후)은 사용하지 않는 클래스로 이동하고 Alt + Enter를 누르고 " '유형 또는 유형 멤버 ...'검사 옵션"을 선택합니다. | 이 유형의 모든 코드 문제 찾기 | 전체 솔루션.
@ulrichc의 솔루션은 완벽하게 들리며 Castle 또는 Ninject 와 같은 Dependency Injection 프레임 워크를 사용하지 않지만 DI 컨테이너 (예 : Castle)를 사용하고 다음과 같은 것이 있는 중소 규모 프로젝트에 적합합니다.
public class IoC
{
private WindsorContainer _container;
private IoC()
{
_container = new WindsorContainer();
}
public static void RegisterFromAssembly(Assembly assembly, string classEndsWith, LifeTime lifeTime)
{
var lifestyle = ConvertLifeStyleType(lifeTime);
_container.Register(AllTypes.FromAssembly(assembly)
.Where(type => type.Name.EndsWith(classEndsWith))
.WithService.AllInterfaces()
.Configure(c => c.LifeStyle.Is(lifestyle))
.WithService.FirstInterface());
}
}
보시다시피 RegisterFromAssembly는 어셈블리 내부의 모든 유형을 거치고 맹목적으로 [methods 매개 변수에 따라] 런타임에 컨테이너에 추가합니다.
컨테이너 내부에 등록되거나 확인 된 유형에 대한 탐색을 제공하는 Agent Mulder 플러그인 과 같은 것이 필요 합니다. 이것은 다시 시각적으로 [디자인 시간] 가능할 수도 있지만 사용하지 않는 클래스를 제거 할 때마다 응용 프로그램 [모든 계층] 내에서 모든 테스트를 80 % 확실하게 실행하지 않으면 확실하지 않을 것입니다. 이야기의 교훈 : 클래스는 Resharper에서 사용되지 않는 것처럼 들릴 수 있지만 Dependency Injection을 사용할 때 부활 할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/4646174/resharper-find-all-unused-classes
'Programing' 카테고리의 다른 글
현재 노드를 포함하는 jQuery find (..) 메소드를 찾고 있습니다. (0) | 2020.07.17 |
---|---|
오류 메시지 : " 'chromedriver'실행 파일이 경로에 있어야합니다" (0) | 2020.07.17 |
장고 단위 테스트를 여러 파일로 분산시키는 방법은 무엇입니까? (0) | 2020.07.17 |
Java8 : java.lang.Object에서 메소드의 기본 메소드를 정의하는 것이 금지 된 이유 (0) | 2020.07.17 |
기능적 언어에서 '패턴 일치'란 무엇입니까? (0) | 2020.07.17 |