CA1017: помечайте сборки атрибутом ComVisibleAttribute
Свойство | Значение |
---|---|
Идентификатор правила | CA1017 |
Заголовок | Пометьте сборки с помощью ComVisibleAttribute |
Категория | Проектирование |
Исправление является критическим или не критическим | Не критическое |
Включен по умолчанию в .NET 9 | No |
Причина
К сборке не применен атрибут System.Runtime.InteropServices.ComVisibleAttribute.
Описание правила
Атрибут ComVisibleAttribute определяет порядок обращения клиентов COM к управляемому коду. Для правильной разработки сборки должны явным образом указывать видимость COM. Можно задать видимость COM для всей сборки, а затем переопределить ее для отдельных типов и элементов типов. Если атрибут отсутствует, содержимое сборки будет видимым клиентам COM.
Устранение нарушений
Чтобы устранить нарушение этого правила, добавьте атрибут в сборку. Если вы не хотите, чтобы сборка была видимой для клиентов COM, примените атрибут и задайте для него значение false
.
Когда лучше отключить предупреждения
Для этого правила отключать вывод предупреждений не следует. Если вы хотите, чтобы сборка была видимой, примените атрибут и задайте для него значение true
.
Пример
В следующем примере показана сборка с примененным атрибутом ComVisibleAttribute, делающим ее невидимой для клиентов COM.
<Assembly: System.Runtime.InteropServices.ComVisible(False)>
Namespace DesignLibrary
End Namespace
[assembly: System.Runtime.InteropServices.ComVisible(false)]
namespace DesignLibrary {}