CA1016 : Marquer les assemblys avec AssemblyVersionAttribute
Propriété | Value |
---|---|
Identificateur de la règle | CA1016 |
Titre | Marquer les assemblys avec AssemblyVersionAttribute |
Catégorie | Conception |
Le correctif est cassant ou non cassant | Sans rupture |
Activée par défaut dans .NET 9 | À titre de suggestion |
Cause
L’assembly n’a pas de numéro de version.
Description de la règle
L’identité d’un assembly est composée des informations suivantes :
Nom de l'assembly
Numéro de version
culture
Clé publique (pour les assemblys fortement nommés).
.NET utilise le numéro de version pour identifier un assembly de manière unique, et créer une liaison avec des types présents dans des assemblys à nom fort. Le numéro de version est utilisé conjointement avec la version et la stratégie d'éditeur. Par défaut, les applications s'exécutent uniquement avec la version d'assembly avec laquelle elles ont été construites.
Comment corriger les violations
Pour corriger une violation de cette règle, ajoutez un numéro de version à l’assembly à l’aide de l’attribut System.Reflection.AssemblyVersionAttribute.
Quand supprimer les avertissements
Ne supprimez pas un avertissement de cette règle pour les assemblys utilisés par des tiers ou dans un environnement de production.
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 CA1016
// The code that's violating the rule is on this line.
#pragma warning restore CA1016
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.CA1016.severity = none
Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.
Exemple
L’exemple suivant montre un assembly auquel l’attribut AssemblyVersionAttribute est appliqué.
using System;
using System.Reflection;
[assembly: AssemblyVersionAttribute("4.3.2.1")]
namespace DesignLibrary {}
<Assembly: AssemblyVersionAttribute("4.3.2.1")>
Namespace DesignLibrary
End Namespace