CA1017: Assemblys mit ComVisibleAttribute markieren.

Eigenschaft Wert
Regel-ID CA1017
Titel Assemblys mit ComVisibleAttribute markieren.
Kategorie Design
Fix führt oder führt nicht zur Unterbrechung Nicht unterbrechend
Standardmäßig in .NET 8 aktiviert Nein

Ursache

Das System.Runtime.InteropServices.ComVisibleAttribute-Attribut wurde bei einer Assembly nicht angewendet.

Regelbeschreibung

Das ComVisibleAttribute-Attribut bestimmt, wie COM-Clients auf verwalteten Code zugreifen. Gute Entwurfsprinzipien verlangen, dass die COM-Sichtbarkeit durch Assemblys explizit angegeben wird. Die COM-Sichtbarkeit kann für eine gesamte Assembly festgelegt und anschließend für einzelne Typen und Typmember überschrieben werden. Wenn das Attribut fehlt, ist der Inhalt der Assembly für COM-Clients sichtbar.

Behandeln von Verstößen

Um den Verstoß gegen diese Regel zu beheben, fügen Sie der Assembly das 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