CA1017: Assemblies markeren met ComVisibleAttribute

Eigenschap Waarde
Regel-id CA1017
Titel Assemblies markeren met ComVisibleAttribute
Categorie Ontwerpen
Fix kan brekend of niet-brekend zijn Niet-brekend
Standaard ingeschakeld in .NET 10 Nee
Toepasselijke talen C# en Visual Basic

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 schrijft voor dat assemblages expliciet COM-zichtbaarheid aangeven. COM-zichtbaarheid kan eerst worden ingesteld voor een hele assembly en vervolgens overschreven voor afzonderlijke typen en typeleden. Als het kenmerk niet aanwezig is, is de inhoud van de assembly zichtbaar voor COM-clients.

Hoe schendingen op te lossen

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.

Voorbeeld

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