프로젝트에서 사용되지 않는보기를 찾는 방법을 아는 사람이 있습니까? Resharper 또는 그것없이. 모든 의견을 작성하고 모든 컨트롤러를 통과하여 수동으로 확인하는 것보다 쉬운 아이디어는 무엇입니까 :) 감사합니다.MVC에서 사용되지 않는 뷰를 찾는 자동화 된 방법이 있습니까?
답변
ReSharper를 사용하면 면도칼보기를 마우스 오른쪽 단추로 클릭하고 는 용도 찾기,하지만 당신은 수동으로 통과하고 (당신이 ReSharper에서의 API에 훅하고 자동화 할 수 있습니다하지 않는 한) 모든 뷰에 대한 반복해야 할 것입니다.
과정의 전망에 대한 문제는 그들이 그것을 ~/Views/{Controller}/{Action}
및 ~/Views/Shared/{Action}
에 해당 뷰를 찾습니다 기본 RazorViewEngine
의 경우 뷰 엔진에 정의 된 규칙을 기반으로 런타임에 바인딩 된 것이다. 따라서 뷰, 부분 및 템플릿이 사용되지 않는 디자인이나 컴파일 타임을 말하기는 어렵습니다.
반대 각도에서 허용 할 수 있습니다. 어떤보기가 사용 중인지 찾습니다. 그런 다음이 목록을 프로젝트의 모든보기와 비교하여 결과를 평가하고 (수동으로 ReSharper 찾기 사용으로) 최종적으로 제거하기 전에 실제로 사용되지 않았는지 확인하십시오.
사용중인보기를 찾으려면 CreateView
및 FindPartialView
으로보기를로드 할 때마다 기록하도록 RazorViewEngine을 사용자 정의 할 수 있습니다. global.asax.cs에서
public class LoggingRazorViewEngine : RazorViewEngine
{
protected override IView CreateView(
ControllerContext controllerContext,
string viewPath,
string masterPath)
{
LogManager.GetLogger("").Debug(viewPath);
return base.CreateView(controllerContext, viewPath, masterPath);
}
}
구성을
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new LoggingRazorViewEngine());
그런 다음 프로젝트의 전망에 대해 비교 로그인 독특한보기 경로의 목록을 추출합니다. 약간의 노력이 필요하지만, 사용하지 않는 많은 뷰가 프로젝트를 어지럽히는 경우에는 가치가있을 수 있습니다.
의심스러운보기 중 하나의 이름을 바꾸고 일부 컨트롤러에서 오류가 발생합니다.
사용하지 않는보기를 찾는 "내장"기능을 모른다.
- 1. iPhone : 사용되지 않는 리소스를 식별하는 자동화 된 방법이 있습니까?
- 2. 델파이에서 사용되지 않는 이벤트 핸들러를 찾는 방법이 있습니까?
- 3. ReSharper를 사용하여 .NET 프로젝트에서 사용되지 않는 코드를 찾는 방법이 있습니까?
- 4. SQL 서버에서 사용되지 않는 테이블을 찾는 방법
- 5. MVC에서 뷰를 찾는 위치를 확장하는 방법
- 6. 사용되지 않는 오이 단계를 찾는 방법
- 7. Ruby 코드에서 사용되지 않는 구문을 찾는 도구?
- 8. ASP.NET MVC에서 동작이 사용되는지 확인하는 방법이 있습니까?
- 9. 페이지가 매겨진 목록 중 특정 페이지가 포함 된 페이지를 찾는 자동화 된 방법이 있습니까?
- 10. 웹 사이트에서 사용되지 않는 CSS를 찾을 수있는 방법이 있습니까?
- 11. 클립보다 사용되지 않는 DOM 요소를 숨기는 더 좋은 방법이 있습니까?
- 12. 사용되지 않는 공용 함수 찾기
- 13. 네트워크에서 사용되지 않는 IP 주소를 찾는 방법은 무엇입니까?
- 14. HashMaps에서 사용되지 않는 할당 된 메모리를 제거하십시오.
- 15. C++ 링커 오류를 찾는 자동화 된 프로그램이 있습니까?
- 16. 참조 주소를 찾는 방법이 있습니까?
- 17. 사용되지 않는 필드는 어떻게됩니까?
- 18. nib을 통해로드 된 뷰를 검사하여 imageViews에있는 이미지의 리소스 이름을 찾는 방법이 있습니까?
- 19. xcode 3.2.5에서 더 이상 사용되지 않는 기능을 찾는 방법?
- 20. System.Web.UI.WebControls.Style 사용되지 않는 HTML5
- 21. Ruby Watir 사용되지 않는 메소드
- 22. PHP에서 사용되지 않는 코드입니까?
- 23. ASP.NET MVC에서 뷰의 성능을 프로파일 링하는 방법이 있습니까?
- 24. 엔티티 모델을 Entity Framework로 업데이트하는 자동화 된 방법이 있습니까?
- 25. SQL 서버에서 임시 테이블을 만드는 자동화 된 방법이 있습니까
- 26. 테스트 케이스의 각 메소드간에 무언가를 실행하는 자동화 된 방법이 있습니까?
- 27. 파이썬 모듈 (루비 젬)을 설치하는 자동화 된 방법이 있습니까?
- 28. 기존 XML 파일에서 XML 템플릿을 만드는 자동화 된 방법이 있습니까?
- 29. 연결 가능성을 찾는 방법이 있습니까?
- 30. 크로스 플랫폼 자동화 테스트 - 방법이 있습니까?
컴파일 타임에 발생할 수있는 유일한 문제는 Visual Studio 외부에서 이름을 바꾸고 CSProj에서 이전 이름으로 파일에 대한 참조가 여전히있는 경우입니다. 그렇지 않으면 일치하는보기없이 잘 컴파일됩니다. . ReSharper를 설치했다면 오류가 표시됩니다.하지만 실제로 오류를 표시하려면 컨트롤러를 열어야했습니다. 또한 공유 위치 또는 응용 프로그램 루트보기 디렉토리에서 일치하는 이름을 가진 다른보기가 있으면 삭제하는보기가 영역에있는 경우이 방법도 절대 안전하지 않음에 유의해야합니다. – pwdst