Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
| Свойство | Значение |
|---|---|
| Идентификатор правила | CA1017 |
| Заголовок | Пометьте сборки с помощью ComVisibleAttribute |
| Категория | Проектирование |
| Исправление является критическим или не критическим | неразрывный |
| Включен по умолчанию в .NET 10 | Нет |
| Применимые языки | C# и Visual Basic |
Причина
К сборке не применен атрибут 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 {}