Delen via


CA1017: Assembly's markeren met ComVisibleAttribute

Eigenschappen Weergegeven als
Regel-id CA1017
Titel Assembly's markeren met ComVisibleAttribute
Categorie Ontwerpen
Oplossing is brekend of niet-brekend Niet-brekend
Standaard ingeschakeld in .NET 8 Nee

Oorzaak

Er is geen System.Runtime.InteropServices.ComVisibleAttribute kenmerk toegepast op een assembly.

Beschrijving van regel

Het ComVisibleAttribute kenmerk bepaalt hoe COM-clients toegang krijgen tot beheerde code. Goed ontwerp bepaalt dat assembly's expliciet com-zichtbaarheid aangeven. COM-zichtbaarheid kan worden ingesteld voor een hele assembly en vervolgens worden overschreven voor afzonderlijke typen en typeleden. Als het kenmerk niet aanwezig is, is de inhoud van de assembly zichtbaar voor COM-clients.

Schendingen oplossen

Als u een schending van deze regel wilt oplossen, voegt u het kenmerk toe aan de assembly. Als u niet wilt dat de assembly zichtbaar is voor COM-clients, past u het kenmerk toe en stelt u de waarde ervan in op false.

Wanneer waarschuwingen onderdrukken

Een waarschuwing van deze regel niet onderdrukken. Als u wilt dat de assembly zichtbaar is, past u het kenmerk toe en stelt u de waarde ervan in op true.

Opmerking

In het volgende voorbeeld ziet u een assembly waarop het ComVisibleAttribute kenmerk is toegepast om te voorkomen dat het zichtbaar is voor COM-clients.

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

Zie ook