Freigeben über


CA1017: Markieren Sie die Assemblies mit ComVisibleAttribute.

Eigenschaft Wert
Regel-ID CA1017
Titel Assemblies mit ComVisibleAttribute markieren.
Kategorie Design
Fix führt zu Unterbrechungen oder bleibt funktionsfähig Untrennbar
Standardmäßig in .NET 10 aktiviert Nein
Anwendbare Sprachen C# und Visual Basic

Ursache

Auf eine Assembly wurde das System.Runtime.InteropServices.ComVisibleAttribute-Attribut nicht angewendet.

Regelbeschreibung

Das ComVisibleAttribute-Attribut bestimmt, wie COM-Clients auf verwalteten Code zugreifen. Gutes Design diktiert, dass Assemblys die COM-Sichtbarkeit explizit angeben. Die COM-Sichtbarkeit kann für eine gesamte Assembly festgelegt und anschließend für einzelne Typen und Mitglieder überschrieben werden. Wenn das Attribut fehlt, ist der Inhalt der Assembly für COM-Clients sichtbar.

So beheben Sie Verstöße

Um einen Verstoß gegen diese Regel zu beheben, fügen Sie der Assembly das entsprechende Attribut hinzu. Wenn Sie nicht möchten, dass die Assembly für COM-Clients sichtbar ist, legen Sie den Wert des Attributs auf false fest.

Wann sollten Warnungen unterdrückt werden?

Unterdrücken Sie keine Warnung dieser Regel. Wenn Sie möchten, dass die Assembly sichtbar ist, legen Sie den Wert des Attributs auf true fest.

Beispiel

Das folgende Beispiel zeigt eine Assembly, auf die das ComVisibleAttribute-Attribut angewendet wurde, um zu verhindern, dass Sie für COM-Clients sichtbar ist.

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

Siehe auch