CA1824: Marcar los ensamblados con NeutralResourcesLanguageAttribute

Propiedad Value
Identificador de la regla CA1824
Título Marcar los ensamblados con NeutralResourcesLanguageAttribute
Categoría Rendimiento
La corrección es problemática o no problemática Poco problemático
Habilitado de forma predeterminada en .NET 8 Como sugerencia

Causa

Un ensamblado contiene un recurso basado en ResX pero no tiene System.Resources.NeutralResourcesLanguageAttribute aplicado.

Descripción de la regla

El atributo NeutralResourcesLanguageAttribute informa al administrador de recursos de la referencia cultural predeterminada de una aplicación. Si los recursos de la referencia cultural predeterminada están incrustados en el ensamblado principal de la aplicación y ResourceManager tiene que recuperar los recursos que pertenecen a la misma referencia cultural que la referencia cultural predeterminada, ResourceManager utiliza automáticamente los recursos que se encuentran en el ensamblado principal en lugar de buscar un ensamblado satélite. Esto omite el sondeo de ensamblado habitual, mejora el rendimiento de la búsqueda para el primer recurso que se carga y puede reducir el espacio de trabajo.

Sugerencia

Vea Empaquetado e implementación de recursos para conocer el proceso que ResourceManager utiliza para sondear archivos de recursos.

Corrección de infracciones

Para corregir una infracción de esta regla, agregue el atributo al ensamblado y especifique el idioma de los recursos de la referencia cultural neutra.

Especificación del idioma neutro para los recursos

  1. En el Explorador de soluciones, haga clic con el botón derecho en el proyecto y seleccione Propiedades.

  2. Seleccione la pestaña Paquete.

    Nota

    Si el proyecto es un proyecto de .NET Framework, seleccione la pestaña Aplicación y, luego, elija Información de ensamblado.

  3. Seleccione el idioma en la lista desplegable Idioma neutro o Assembly neutral language (Idioma neutro del ensamblado).

  4. Seleccione Aceptar.

Cuándo suprimir las advertencias

Se puede suprimir una advertencia de esta regla. Sin embargo, el rendimiento durante el inicio puede degradarse. Para suprimir esta advertencia, agregue dotnet_diagnostic.CA1824.severity = none al archivo .globalconfig o .editorconfig.

Supresión de una advertencia

Si solo quiere suprimir una única infracción, agregue directivas de preprocesador al archivo de origen para deshabilitar y volver a habilitar la regla.

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

Para deshabilitar la regla de un archivo, una carpeta o un proyecto, establezca su gravedad en none del archivo de configuración.

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

Para obtener más información, consulte Procedimiento para suprimir advertencias de análisis de código.

Consulte también