CA1824 : Marquer les assemblys avec NeutralResourcesLanguageAttribute

Propriété Value
Identificateur de la règle CA1824
Titre Marquer les assemblys avec NeutralResourcesLanguageAttribute
Catégorie Performances
Le correctif est cassant ou non cassant Sans rupture
Activé par défaut dans .NET 8 À titre de suggestion

Cause

Un assembly contient une ressource basée sur ResX, mais le paramètre System.Resources.NeutralResourcesLanguageAttribute ne lui est pas appliqué.

Description de la règle

L’attribut NeutralResourcesLanguageAttribute informe le gestionnaire de ressources de la culture par défaut d’une application. Si les ressources de la culture par défaut sont incorporées dans l’assembly principal de l’application et que ResourceManager doit récupérer des ressources qui appartiennent à la même culture que la culture par défaut, ResourceManager utilise automatiquement les ressources situées dans l’assembly principal au lieu de rechercher un assembly satellite. Cela permet de contourner la sonde d’assembly habituelle, d’améliorer les performances de recherche de la première ressource chargée et de réduire votre jeu de travail.

Conseil

Consultez Empaqueter et déployer des ressources pour le processus utilisé par ResourceManager pour sonder les fichiers de ressources.

Corriger les violations

Pour corriger une violation de cette règle, ajoutez l’attribut à l’assembly et spécifiez le langage des ressources de la culture neutre.

Pour spécifier le langage neutre pour les ressources

  1. Dans l’Explorateur de solutions, faites un clic droit sur votre projet, puis sélectionnez Propriétés.

  2. Sélectionnez l’onglet Package.

    Notes

    Si votre projet est un projet .NET Framework, sélectionnez l’onglet Application, puis sélectionnez les Informations de l’assembly.

  3. Sélectionnez le langage dans la liste déroulante Langage neutre ou Langage neutre de l’assembly.

  4. Sélectionnez OK.

Quand supprimer les avertissements

Vous pouvez supprimer un avertissement de cette règle. Toutefois, les performances de démarrage peuvent se dégrader. Pour supprimer cet avertissement, ajoutez dotnet_diagnostic.CA1824.severity = none à votre fichier .globalconfig ou .editorconfig.

Supprimer un avertissement

Si vous voulez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver et réactiver la règle.

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

Pour désactiver la règle sur un fichier, un dossier ou un projet, définissez sa gravité sur none dans le fichier de configuration.

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

Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.

Voir aussi