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
Dans l’Explorateur de solutions, faites un clic droit sur votre projet, puis sélectionnez Propriétés.
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.
Sélectionnez le langage dans la liste déroulante Langage neutre ou Langage neutre de l’assembly.
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.