Compartilhar 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 10 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