CA1017: помечайте сборки атрибутом ComVisibleAttribute

Свойство Значение
Идентификатор правила CA1017
Заголовок Пометьте сборки с помощью ComVisibleAttribute
Категория Проектирование
Исправление является критическим или не критическим Не критическое
Включен по умолчанию в .NET 8 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 {}

См. также