Share via


CA1824: Marque assemblies com NeutralResourcesLanguageAttribute

Property Valor
ID da regra CA1824
Título Marque assemblies com NeutralResourcesLanguageAttribute
Categoria Desempenho
Correção interruptiva ou sem interrupção Sem interrupção
Habilitado por padrão no .NET 8 Como sugestão

Causa

Um assembly contém um recurso baseado em ResX, mas não tem o System.Resources.NeutralResourcesLanguageAttribute aplicado a ele.

Descrição da regra

O atributo NeutralResourcesLanguageAttribute informa o gerenciador de recursos da cultura padrão de um aplicativo. Se os recursos da cultura padrão estiverem inseridos no assembly principal do aplicativo e ResourceManager precisar recuperar recursos que pertencem à mesma cultura que a cultura padrão, ResourceManager usará automaticamente os recursos localizados no assembly principal em vez de procurar um assembly satélite. Isso contorna a investigação de assembly usual, melhora o desempenho da pesquisa para o primeiro recurso que você carrega e pode reduzir o conjunto de trabalho.

Dica

Confira Empacotar e implantar recursos para o processo que ResourceManager usa para investigar arquivos de recursos.

Corrigir violações

Para corrigir uma violação dessa regra, adicione o atributo ao assembly e especifique o idioma dos recursos da cultura neutra.

Para especificar a linguagem neutra para recursos

  1. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto e, em seguida, selecione Propriedades.

  2. Selecione a guia Pacote.

    Observação

    Se o projeto for um projeto .NET Framework, selecione a guia Aplicativo e depois selecione Informações do Assembly.

  3. Selecione a linguagem na lista Linguagem neutra ou Linguagem neutra de assembly.

  4. Selecione OK.

Quando suprimir avisos

É permitido suprimir um aviso dessa regra. No entanto, o desempenho da inicialização poderá ser prejudicado. Para suprimir esse aviso, adicione dotnet_diagnostic.CA1824.severity = none ao arquivo .globalconfig ou .editorconfig.

Suprimir um aviso

Para suprimir apenas uma violação, adicione diretivas de pré-processador ao arquivo de origem a fim de desabilitar e, em seguida, reabilitar a regra.

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

Para desabilitar a regra em um arquivo, uma pasta ou um projeto, defina a severidade como none no arquivo de configuração.

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

Para obter mais informações, confira Como suprimir avisos de análise de código.

Confira também