次の方法で共有


CA1017: アセンブリに ComVisibleAttribute を設定します

TypeName

MarkAssembliesWithComVisible

CheckId

CA1017

[カテゴリ]

Microsoft.Design

互換性に影響する変更点

なし

原因

アセンブリには、それに適用される System.Runtime.InteropServices.ComVisibleAttribute 属性がありません。

規則の説明

ComVisibleAttribute 属性によって、COM クライアントからマネージ コードにアクセスする方法を決定します。アセンブリで COM の参照範囲を明示することをお勧めします。COM の参照範囲は、アセンブリ全体に設定し、個々の型と型のメンバー用にオーバーライドできます。この属性がない場合、アセンブリのコンテンツは COM クライアントから参照できます。

違反の修正方法

この規則違反を修正するには、アセンブリにこの属性を追加します。アセンブリを COM クライアントから参照できないようにするには、属性を適用し、属性値を false に設定します。

警告を抑制する状況

この規則による警告は抑制しないでください。アセンブリを参照できるようにする場合、この属性を適用し、値を true に設定します。

使用例

ComVisibleAttribute 属性を適用したアセンブリを次の例に示します。例では、COM クライアントからこのアセンブリを参照できなくなります。

Imports System

<Assembly: System.Runtime.InteropServices.ComVisible(False)>
Namespace DesignLibrary
End Namespace
using System;

[assembly: System.Runtime.InteropServices.ComVisible(false)]
namespace DesignLibrary {}
using namespace System;

[assembly: System::Runtime::InteropServices::ComVisible(false)];
namespace DesignLibrary {}

参照

概念

相互運用のための .NET 型の要件

その他の技術情報

アンマネージ コードとの相互運用