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 9 aktiviert | No |
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 {}