Visual Studio 경고 수준 의미?


92

웹 응용 프로그램 프로젝트의 빌드 탭에는 "경고 수준"이라는 설정이 있습니다. 0에서 4까지 값을 설정할 수 있습니다.이 값은 무엇을 의미합니까? 0의 값이 더 엄격하고 더 많은 경고를 생성합니까, 아니면 그 반대의 경우입니까? 아직 문서를 찾을 수 없었지만 잘못된 위치를 찾고있는 것 같습니다.

답변:


108

이 링크 는 경고 수준의 정의를 보여줍니다 (웹 프로젝트에서 C # 코드를 사용하고 있다고 가정합니다). 레벨 4가 가장 엄격합니다.


  • 0 : 모든 경고 메시지의 방출을 끕니다.
  • 1 : 심각한 경고 메시지를 표시합니다.
  • 2 : 수준 1 경고와 함께 클래스 구성원 숨기기에 대한 경고와 같이 심각하지 않은 특정 경고를 표시합니다.
  • 3 : 레벨 2 경고와 함께 항상 true 또는 false로 평가되는 표현식에 대한 경고와 같이 심각하지 않은 특정 경고를 표시합니다 .
  • 4 : 모든 레벨 3 경고와 정보 경고를 표시합니다. 이것은 명령 줄의 기본 경고 수준입니다.

고마워요, 바로 제가 찾던 것입니다.
Jon Tackabury

7
링크가 끊어 질 경우를 대비하여 답변의 수준을 복사하는 것이 좋습니다. Microsoft 웹 사이트에서 거의 발생하지 않는 일. : D
Samuel

10

높을수록 더 엄격합니다. 앱에별로 의미가 없을 수도 있고 그렇지 않을 수도있는 모든 경고를 보는 것은 성 가실 수 있지만 시간을내어 정리하면 많은 것을 배울 수 있습니다.


두 번째입니다. 규칙 세트를 포함하는 것이 과도하거나 심지어 코드 유형에 적합하지 않을 수있는 단위 테스트 프로젝트의 경우 좋은 옵션 일 수 있습니다.
Oliver Schimmer



0

또한 F #은 경고 수준 5까지 올라갑니다.

--warn : 경고 수준

경고 수준 (0 ~ 5)을 설정합니다. 기본 수준은 3입니다. 각 경고에는 심각도에 따라 수준이 지정됩니다. 레벨 5는 레벨 1보다 더 많지만 덜 심각한 경고를 제공합니다.

레벨 5 경고는 21 (런타임에 재귀 사용 확인), 22 (순서에 맞지 않게 rec 평가), 45 (전체 추상화) 및 52 (방어 복사본)입니다.

https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/compiler-options


-2

예를 들어 경고 수준을 4로 설정하거나 /W4컴파일러가 모든 경고를 오류로 처리 함을 의미합니다. 대부분 컴파일러가 기분이 좋지 않은 것을 볼 때 반응하는 방식입니다. 그건 그렇고, 모든 경고의 레벨이 0입니다.


8
레벨 0은 경고를 해제하지만 레벨 4는 경고를 오류로 처리하지 않습니다. "모든 레벨 3 경고와 정보 경고를 표시합니다."
zastrowm
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.