2010-02-24 5 views
3

StyleCop CheckIn 정책 (here)이 설치되어있어 효과적입니다. 그러나 CheckIn 정책 (Visual Studio 2008, Team Explorer 2008, TFS 2005)의 일부로 적용하려는 일부 사용자 지정 규칙을 작성했습니다.TFS의 체크인 정책에 대한 사용자 정의 스타일 컷 규칙 적용

프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "스타일 복사 설정"을 클릭하면 설정 파일에 맞춤 규칙이 잘 표시됩니다. 그러나 내 CheckIn 정책을 추가하고 같은 settings.StyleCop 파일을 가져 오려고하면 사용자 정의 규칙이 편집기 창에 나타나지 않습니다.

아마도 또 다른 문제는 Visual Studio에서 편집기를 열면 StyleCop 설정 편집기에 내 사용자 지정 규칙이 표시된다는 것입니다. 그러나 Windows 탐색기에서 설정 파일을 두 번 클릭하여 편집기를 열면 내 규칙이 보이지 않습니다.

이제 checkIn 정책의 일부로 사용자 정의 규칙을 사용할 수 있는지 알려주고, 그렇다면 checkIn 정책을 추가 할 때 StyleCop 설정 편집기 창에 표시되도록 지정하는 방법에 대해 알려주십시오.

감사합니다,

답변

3

예, 그것은 확실히 가능하다!

올바르게 작동하려면 약간 까다로울 수 있지만 몇 가지 중요한 사항을 알고 있으면 많은 도움이됩니다.

첫 번째 단계는 StyleCop 사용자 정의 규칙을 개발자 컴퓨터에서 제대로 작동하는 것입니다 :
1) StyleCop 규칙을 가지고있는 사용자가 동일한 디렉토리로에 설치 될
2) 개발자 컴퓨터에 설치되어 있어야합니다 StyleCop (또는 선택적으로 하위 디렉토리). 그들이 다른 곳에 설치되면 전혀 작동하지 않을 경우 제대로 작동하지 않을 수 있습니다.
3) 해당 설치 디렉토리의 Settings.StyleCop 파일, 분석중인 프로젝트가 포함 된 디렉토리 및 그 위에있는 모든 디렉토리가 결합되어 사용자 정의 규칙을 사용 가능하게해야합니다. 이것은 프로젝트 디렉토리에서 Settings.StyleCop 파일을 두 번 클릭하고 편집기에서 규칙을 사용할 수 있는지 확인하여 가장 잘 확인됩니다.

다음 요점은 빌드 머신에서 StyleCop이 올바르게 작동하는 것을 더 까다롭게합니다.
체크 포인트 정책을 위해 StyleCop을 실행할 머신을 빌드 할 때와 똑같은 세 가지 점이 있습니다. 따라서 빌드 머신에는 StyleCop이 설치되어 있어야하고, 사용자 정의 규칙이 설치되어 있어야하며, 모든 올바른 Settings.StyleCop 파일이 있어야 빌드 머신에 동일한 전체 StyleCop 규칙 설정을 만들 수 있습니다. 이것은 빌드 머신이 StyleCop을 설치해야한다는 것을 깨닫지 못해 깨기 쉬워졌습니다. StyleCop이 설치 되더라도 StyleCop은 VS 통합 (의심의 여지가 없으므로) 또는 StyleCop via MSBuild integration (일반적이지는 않지만 일반적으로 잘 이해되지 않음)을 통해 실행할 수 있습니다. 빌드 컴퓨터는 종종 MSBuild 통합을 사용하도록 설정됩니다. 즉, % Program Files % \ StyleCop 디렉터리 대신 % Program Files % \ MSBuild \ Microsoft \ StyleCop \ v4.3 디렉터리에 사용자 지정 규칙을 설치해야합니다. 기대하고 있을지도 모른다. 또한 % Program Files % \ StyleCop 디렉터리에서 기본 Settings.StyleCop 파일을 수정 한 경우 해당 파일을 % Program Files % \ MSBuild \ Microsoft \ StyleCop \ v4.3 디렉터리에 복사해야합니다. 빌드 머신에서 같은 효과를 얻으려면. 개발자 컴퓨터에서 확인 된 작동 Settings.StyleCop 파일로 복사/붙여 넣기를 수행하는 것이 빌드 시스템이 올바른 설정을 가지고 있는지 확인하는 가장 좋은 방법입니다. StyleCop은 XML 파일에 대해 매우 까다 롭고 약간의 오타가 디버깅하는 데 며칠이 걸리는 기괴한 행동으로 이어질 수 있습니다. 편집하지 마십시오. 당신은 경고를 받았습니다.8)

정확히 올바른 결과를 얻지 못하는 방법이 많이 있습니다. 거기에 올 때까지 설명했던 것처럼 낯선 것을 보게 될 것입니다. 다행스럽게도 필자가 언급 한 세 가지 사항과 "시스템을 빌드 할 때의 StyleCop"과 "개발자 시스템의 StyleCop"의 차이점을 염두에두면 결국 모든 것이 원활하게 작동 할 수있게됩니다. 글쎄, 적어도 일관되게 나를 위해 일 해왔다.

행운을 빈다.

나는 체크인 CodePlex에서 볼 수 있습니다 정책 사용자 정의 규칙 (확인) 지원이에서 찾을 수 있습니다 작성한
관련 문제