2011-04-26 2 views
3

예를 들어 iPhone과 같은 식별자. 로,Visual Studio에서 CustomDictionary.xml 사용하기 멋진 사례 코드에 대한 코드 분석

다음
<Words> 
    <Recognized> 
     <Word>iphone</Word> 
    </Recognized> 
</Words> 

는 여전히 나에게 같은 오류가 하나 더 주었다

CA1709 : Microsoft.Naming : Correct the casing of 'i' in namespace name 'iPhone.Example' by changing it to 'I'.

나는 다음과 같이 CustomDictionary.xml에 항목을 추가하는 시도 : 나는 코드 분석을 실행하면 , 그것은 나에게 오류를 준 다음과 다음과 같이

CA1702 : Microsoft.Naming : The compound word 'iPhone' in namespace name 'iPhone.Example' exists as a discrete term. If your usage is intended to be single word, case it as 'iphone'.

내가 다음 몇 가지 규칙을 더 추가 :

<Compound> 
    <Term CompoundAlternate="IPhone">iphone</Term> 
</Compound> 
<DiscreteExceptions> 
    <Term>iphone</Term> 
</DiscreteExceptions> 
<Acronyms> 
    <CasingExceptions> 
     <Acronym>iPhone</Acronym> 
    </CasingExceptions> 
</Acronyms> 

그러나 차이는 없습니다. 이런 종류의 예외를 추가 할 여지가 있습니까?

미리 감사드립니다.

답변

9

문제가 철자법과 아무 관련이 없으므로 사전에 추가하는 것은 원래 CA1709 위반을 피할 수 없습니다. 대신 문제는 첫 번째 문자의 대문자 사용이 부족하여 네임 스페이스 이름에 대한 파스칼의 대/소문자 규칙을 위반하는 것입니다.

+1

답변 해 주셔서 감사합니다. 사전은 또한 CasingExceptions 열을 제공하므로 철자가 아닌 그 이상을 처리 할 수 ​​있어야한다고 생각합니다. 그래서 어떤 생각을 어떻게 오류를 억제하지 않고 할 수 있을까요? – denni

+1

CasingExceptions 내용은 다른 목적으로 사용됩니다 (예 : 2 자 및 3 자 약어에 대해 CA1709 규칙의 모든 대문자와 파스칼이 포함 된 부분을 구별 함). 이들은 네임 스페이스 이름의 첫 글자가 대문자 여야한다는 것을 확인하는 CA1709 규칙 논리 부분에서 사용되지 않습니다. –

+0

좋아요,이 경우에는 실제로 할 방법이 없습니다. 정말 대답은 아니지만 답변을 주셔서 감사합니다 :-) – denni

관련 문제