Share via


CA1824: NeutralResourcesLanguageAttribute로 어셈블리 표시

속성
규칙 ID CA1824
타이틀 NeutralResourcesLanguageAttribute로 어셈블리를 표시하세요.
범주 성능
수정 사항이 주요 변경인지 여부 주요 변경 아님
.NET 8에서 기본적으로 사용 제안 사항

원인

어셈블리에 ResX 기반 리소스가 포함되어 있지만 System.Resources.NeutralResourcesLanguageAttribute가 적용되지 않았습니다.

규칙 설명

NeutralResourcesLanguageAttribute 특성은 리소스 관리자에게 앱의 기본 문화권을 알립니다. 기본 문화권의 리소스가 앱의 주 어셈블리에 포함되어 있고 ResourceManager가 기본 문화권과 동일한 문화권에 속하는 리소스를 검색해야 하는 경우 ResourceManager는 위성 어셈블리를 검색하는 대신 주 어셈블리에 있는 리소스를 자동으로 사용합니다. 따라서 일반적인 어셈블리 검색이 무시되고 로드하는 첫 번째 리소스에 대한 조회 성능이 향상되며 작업 집합을 줄일 수 있습니다.

ResourceManager가 리소스 파일을 검색하는 데 사용하는 프로세스는 리소스 패키징 및 배포를 참조하세요.

위반 문제 해결

이 규칙의 위반 문제를 해결하려면 어셈블리에 특성을 추가하고 중립 문화권의 리소스 언어를 지정합니다.

리소스의 중립 언어를 지정하려면

  1. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  2. 패키지 탭을 선택합니다.

    참고 항목

    프로젝트가 .NET Framework 프로젝트인 경우 애플리케이션 탭을 선택한 다음, 어셈블리 정보를 선택합니다.

  3. 중립 언어 또는 어셈블리 중립 언어 드롭다운 목록에서 언어를 선택합니다.

  4. 확인을 선택합니다.

경고를 표시하지 않는 경우

이 규칙의 경고를 표시하지 않을 수 있습니다. 그러나 시작 성능이 저하될 수 있습니다. 이 경고를 표시하지 않으려면 dotnet_diagnostic.CA1824.severity = none.globalconfig 또는 .editorconfig 파일에 추가합니다.

경고 표시 안 함

단일 위반만 표시하지 않으려면 원본 파일에 전처리기 지시문을 추가하여 규칙을 사용하지 않도록 설정한 후 다시 사용하도록 설정합니다.

#pragma warning disable CA1824
// The code that's violating the rule is on this line.
#pragma warning restore CA1824

파일, 폴더 또는 프로젝트에 대한 규칙을 사용하지 않도록 설정하려면 구성 파일에서 심각도를 none으로 설정합니다.

[*.{cs,vb}]
dotnet_diagnostic.CA1824.severity = none

자세한 내용은 방법: 코드 분석 경고 표시 안 함을 참조하세요.

참고 항목