CA1017 : Marquer les assemblys avec ComVisibleAttribute

Propriété Value
Identificateur de la règle CA1017
Titre Marquer les assemblys avec ComVisibleAttribute
Catégorie Conception
Le correctif est cassant ou non cassant Sans rupture
Activé par défaut dans .NET 8 Non

Cause

Un assembly n’a pas System.Runtime.InteropServices.ComVisibleAttribute l’attribut appliqué à celui-ci.

Description de la règle

L’attribut ComVisibleAttribute détermine comment les clients COM accèdent à du code managé. Un bon design stipule que les assemblys indiquent explicitement la visibilité COM. La visibilité COM peut être définie pour un assembly tout entier, puis remplacée pour des types et des membres de type individuels. En l’absence de l’attribut, les clients COM peuvent voir le contenu de l’assembly.

Comment corriger les violations

Pour corriger une violation de cette règle, ajoutez l’attribut à l’assembly. Si vous ne souhaitez pas que l’assembly soit visible par les clients COM, appliquez l’attribut et définissez sa valeur sur false.

Quand supprimer les avertissements

Ne supprimez aucun avertissement de cette règle. Si vous souhaitez que l’assembly soit visible, appliquez l’attribut et définissez sa valeur sur true.

Exemple

L’exemple suivant montre un assembly auquel l’attribut ComVisibleAttribute est appliqué pour l’empêcher d’être visible par les clients COM.

<Assembly: System.Runtime.InteropServices.ComVisible(False)>
Namespace DesignLibrary
End Namespace
[assembly: System.Runtime.InteropServices.ComVisible(false)]
namespace DesignLibrary {}

Voir aussi