CA2210 : Les assemblys doivent porter des noms forts valides

Élément Valeur
ID de la règle CA2210
Category Microsoft.Design
Modification avec rupture Sans rupture

Cause

Un assembly n’est pas signé avec un nom fort, le nom fort n’a pas pu être vérifié ou le nom fort n’est pas valide sans les paramètres de Registre actuels de l’ordinateur.

Remarque

Cette règle est déconseillée. Pour plus d’informations, consultez Règles dépréciées.

Description de la règle

Cette règle récupère et vérifie le nom fort d’un assembly. Une violation se produit dans les cas suivants :

  • L’assembly n’a pas de nom fort.

  • L’assembly a été modifié après la signature.

  • L’assembly est un assembly à signature différée.

  • L’assembly n’a pas été signé correctement ou la signature a échoué.

  • L’assembly nécessite des paramètres de Registre pour réussir la vérification. Par exemple, l’outil Strong Name (Sn.exe) a été utilisé pour ignorer la vérification de l’assembly.

Le nom fort protège les clients du chargement à leur insu d'un assembly falsifié. Les assemblys sans noms forts ne doivent pas être déployés hors de scénarios très limités. Si vous partagez ou distribuez des assemblys qui ne sont pas signés correctement, ceux-ci peuvent être falsifiés, le Common Language Runtime peut ne pas les charger ou l'utilisateur peut être amené à désactiver une vérification sur son ordinateur. Un assembly sans nom fort présente les inconvénients suivants :

  • Ses origines ne peuvent pas être vérifiées.

  • Le common language runtime ne peut pas avertir les utilisateurs si le contenu de l’assembly a été modifié.

  • Il ne peut pas être chargé dans le Global Assembly Cache.

Notez que pour charger et analyser un assembly à signature différée, vous devez désactiver la vérification de l’assembly.

Comment corriger les violations

Créer un fichier de clé

Effectuez l’une des procédures suivantes :

Signer votre assembly avec un nom fort dans Visual Studio

  1. Ouvrez votre solution dans Visual Studio.

  2. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet, puis cliquez sur Propriétés.

  3. Sous l’onglet Signature, activez la case à cocher Signer l’assembly.

  4. Dans Choisir un fichier de clé de nom fort, sélectionnez Nouveau.

    La fenêtre Créer une clé de nom fort s’affiche.

  5. Dans Nom du fichier de clé, tapez un nom pour votre clé de nom fort.

  6. Choisissez s’il faut protéger la clé avec un mot de passe, puis cliquez sur OK.

  7. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet, puis cliquez sur Générer.

Signer votre assembly avec un nom fort en dehors de Visual Studio

Utilisez l’outil Strong Name (Sn.exe).

Quand supprimer les avertissements

Supprimez un avertissement de cette règle uniquement si l’assembly est utilisé dans un environnement où la falsification de contenu ne pose pas problème.

Voir aussi