CA1017 : Marquer les assemblys avec ComVisibleAttribute
TypeName |
MarkAssembliesWithComVisible |
CheckId |
CA1017 |
Catégorie |
Microsoft.CSharp |
Modification avec rupture |
Modification sans rupture |
Cause
Un assembly ne se voit pas appliquer l'attribut System.Runtime.InteropServices.ComVisibleAttribute.
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 en entier, puis être substituée pour des types et des membres de type individuels. Si l'attribut n'est pas présent, 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 les clients COM puissent voir l'assembly, appliquez l'attribut et affectez-lui la valeur false.
Quand supprimer les avertissements
Ne supprimez aucun avertissement de cette règle. Si vous souhaitez que l'assembly soit visible, appliquez-le et affectez-lui la valeur true.
Exemple
L'exemple suivant montre un assembly qui se voit appliquer l'attribut ComVisibleAttribute pour empêcher les clients COM de le voir.
Imports System
<Assembly: System.Runtime.InteropServices.ComVisible(False)>
Namespace DesignLibrary
End Namespace
using System;
[assembly: System.Runtime.InteropServices.ComVisible(false)]
namespace DesignLibrary {}
using namespace System;
[assembly: System::Runtime::InteropServices::ComVisible(false)];
namespace DesignLibrary {}
Voir aussi
Concepts
Qualification des types .NET en vue d'une interopérabilité