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 | 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 {}