Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
| 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 {}