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