次の方法で共有


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 型の要件

その他の技術情報

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