2012-07-03 2 views
2

C# express 2010을 사용하여 자체 stylecop 사용자 정의 규칙을 만들었지 만, .dll 파일을 stylecop 폴더에 넣으면 stylecop 설정 목록에 내 사용자 정의 규칙이 표시되지 않습니다. 내 코딩 문제입니까 아니면 파일을 잘못 놓았습니까? 아래 코드는 내 xml 코드입니다.Stylecop 사용자 정의 규칙이 설정에 표시되지 않습니다.

<?xml version="1.0" encoding="utf-8" ?> 
<SourceAnalyzer Name="My Custom Rule3"> 
<Description> 
Custom rule for demo purposes. 
</Description> 
    <Rules> 
    <Rule Name="AvoidUsingAInClassNames" CheckId="CR0001"> 
     <Context>Do not use 'M' letter in {0} names.</Context> 
     <Description>Fires when 'a' letter is used in class name.</Description> 
    </Rule> 
    </Rules> 
</SourceAnalyzer> 
+0

올바른 폴더에 dll을 넣었습니까? XML에 대한 빌드 조치는 임베디드 자원이어야합니다. 그것을 확인할 수 있습니까? – Ram

+1

Hi ram, 의견을 보내 주셔서 감사합니다. stylecop v4.7 폴더에 내 stylecop 맞춤 규칙을 넣었고 내 xml이 포함 된 것으로 설정을 변경했습니다. 하지만 여전히 내 스타일리스트 설정 목록에 표시되지 않습니다. – Nicky

답변

2

dll 버전을 확인하십시오. 버전 4.3을 사용하여 개발 어디 내 규칙 때문에 동일한 문제가 있고, 4.7는 서로 다른 네임 스페이스 (namespace) 아래 :

4.3 :

using Microsoft.StyleCop; 
using Microsoft.StyleCop.CSharp; 

4.7 :

using StyleCop; 
using StyleCop.CSharp; 
2

는 XML 파일의 이름은 이어야합니다. 정확히이 클래스 파일과 동일해야합니다. MyClass.cs & MyClass.xml.

또한 클래스 라이브러리가 v3.5 .NET DLL을 생성하고 XML을 포함 리소스로 만들고 DLL을 StyleCop 폴더에 배치해야합니다.

+1

클래스 라이브러리의 대상 프레임 워크를 .NET 4.5에서 NET 3.5로 변경하면 효과적이었습니다. StyleCop 4.7을 사용하고 있습니다. 감사. –

+1

+1 나는 .NET 4.5에서 4.0으로 생각했다. 아니. 내가 3.5로 떨어 뜨렸을 때만 내 물건이 나오기 시작했다. – BrandonLWhite

관련 문제