Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
| 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 10 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 {}