2009-02-08 4 views
21

내 응용 프로그램에는 리플렉션을 통해 값을 가져 오는 필드가있는 상당한 수의 엔티티가 있습니다. (이 경우에는 NHibernate가 설정하고있다). 나는 "x가 할당되지 않고 항상 0을 기본 값으로 갖습니다"라는 경고를 없애고 싶기 때문에 다른 경고를 더 쉽게 선택할 수 있습니다. 나는 당신이 pragma 지시어로 그것들을 둘러 쌀 수 있다는 것을 알고 있지만 AFAIK는 각각을 위해 이것을해야합니다. 내가 할 수있는 넓은 방법이나 해결책을 가진 프로젝트가 있습니까?전역 적으로 C# 컴파일러 경고 표시 안 함

+0

#pragma warning disable 169를 소스 코드 파일의 맨 위에두면 어떤 이유가 있을까요? 파일의 나머지 부분을 표시하지 않습니다. –

+0

++ 그게 훨씬 낫다. 왜냐하면이 파일에이 파일들이 들어 있고 절대적으로 모든 것을 포함하고 있다는 것을 분명히하기 때문이다. – ShuggyCoUk

+1

내 경우 엔 NHibernate를 사용하여 엔티티의 ID를 설정하고있다. 그래서 모든 도메인 객체에는 private int _ID가 있습니다. 나는 각각의 entites에 pragma 지시문을 넣지 않아도 좋지만, 다소 글로벌 할 것입니다. – pondermatic

답변

33

를 사용하여 C#을 명령 줄 옵션/nowarn http://msdn.microsoft.com/en-us/library/7f28x9z3(VS.80).aspx

비주얼 스튜디오 고토 내 프로젝트를 이렇게하려면 속성 -> 빌드 -> (오류 및 경고) 경고를 억제하고 필요 경고의 쉼표로 구분 된 목록을 지정 억압된다.

+13

AnthonyWJones가 아래에서 지적했듯이이 쉼표로 구분 된 목록에 넣어야하는 컴파일러 경고 ID는 빌드 스트림을 보는 동안 출력 창에서 찾을 수 있습니다.이 스레드에서 아직 언급되지 않은 것은 CSxxxx '코드가 작동하려면 CS 코드를 제거해야합니다. –

+0

너무 굉장합니다. 감사!!! –

8

프로젝트 속성을 열고 빌드 탭에서 Suppress warnings : 상자에 표시 할 경고 ID를 입력하십시오.

+0

그게 내가하고 싶은 일이지만 슬픈 듯이 경고 ID가 VS2010의 오류 목록 창에서 경고와 함께 작성되지 않았습니다. 일부 경고 ID는 매우 가깝지만 코드가 다르기 때문에 int에 대한 CLS 오류와 클래스 이름에 대한 CLS 오류가 다름을 의미합니다. 코딩 표준이 CLS가 아닌 경우 어떻게 할 것입니까? –

+1

@ DavutGürbüz : 빌드 할 때 출력 창을 보려고 할 때 – AnthonyWJones

+0

열심히 볼 수 있도록 자세한 빌드를 열었지 만 작동하지만 BC40028은 내 CLS 경고 덕분에 대부분 사용하지 않습니다. –

1

이 VC++ XML 태그는 숫자 ID의 세미콜론으로 구분 된 목록이있는 < DisableSpecificWarnings />입니다. 이 부분은 내가 볼 수있는 모든 곳에서 기록 된 것으로 보이지 않습니다.