Partager via


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é

Autres ressources

Interopération avec du code non managé