을 제외하지만 두 가지 규칙, StyleCop 한 서로를 제외합니다 FxCop 하나가있는 곳으로왔다. StyleCop의 규칙과 일치하도록 코드를 수정하면 FxCop 유효성 검사가 실패하고 그 반대의 경우도 마찬가지입니다.StyleCop와의 FxCop 규칙이 내 코드를 개선하기 위해 StyleCop와의 FxCop 도구를 사용하고 서로
첫 번째 규칙은 모든 사용 지침은 네임 스페이스의 내부에 위치해야 함을 말한다 StyleCop에서 SA1200입니다.
는 그래서 그것은 StyleCop, 더 이상 경고를 확인했다이모든 사용 지침
는 네임 스페이스의 내부에 배치해야합니다.
namespace MyNamespace
{
using System;
...
}
같은 짓을했다. 이제 FxCop 유효성 검사를 실행하고 CA1014가 위반되었다고 알려줍니다.
'MyApp.dll'은 외부에서 보이는 유형을 노출하므로 CLSCompliant (true)로 표시하십시오.
[ClsCompliant(true)] namespace MyNamespace { ... }
을하지만
ClsCompliant
속성이 인정되지 않기 때문에 (이것은 내가MyNamespace
의 내부에 포함System
네임 스페이스 때문에) 지금은 내 프로젝트를 빌드 할 수 없습니다
는 다음과 같이해야 내가이 문제를 해결하려면 . 따라서 using System;
지시문을 MyNamespace
선언 외부로 옮기면됩니다. 이렇게하면 코드가 컴파일되지만 다시 StyleCop에서 규칙을 위반하게됩니다.
StyleCop 또는의 FxCop의 규칙 중 하나를 비활성화를 제외하고이 문제를 해결하는 방법은 없나요? 그리고 어떤 규칙을 사용할 수 없게해야합니까? 어느 것이 덜 중요합니까?
어셈블리가 CLAPompliant로 표시되어야한다고 생각합니다. maciejkow는 네임 스페이스 준수를 표시하는 대신 지적했습니다. –