プライマリ相互運用機能アセンブリの命名
更新 : 2007 年 11 月
わかりやすくするために、プライマリ相互運用機能アセンブリの名前は元の COM タイプ ライブラリの名前と似た名前で、開発者が適切なアセンブリを選択できるように固有の名前である必要があります。他のアセンブリと同様に、プライマリ相互運用機能アセンブリの名前は、アセンブリのスコープおよび複数のアプリケーションによる使用方法に大きく影響します。
プライマリ相互運用機能アセンブリを生成するときに、その名前を定義します。通常、タイプ ライブラリをインポートしてプライマリ相互運用機能アセンブリを生成します。タイプ ライブラリのインポートの詳細については、「プライマリ相互運用機能アセンブリの生成」を参照してください。
命名要素
プライマリ相互運用機能アセンブリは、標準的な公開キー暗号を使った厳密な名前で署名されている必要があります。公開キーに加えて、重要な命名要素が 2 つあります。
アセンブリ ファイル名。
アセンブリのファイル名は、.exe や .dll などのファイル名拡張子を除いた部分が、アセンブリ名と一致している必要があります。既定の場合、インポート プロセスでは、タイプ ライブラリ ファイル名ではなく、タイプ ライブラリ名を使用して、アセンブリ名とファイル名が生成されます。タイプ ライブラリ名とタイプ ライブラリ ファイル名は必ずしも同じではありません。たとえば、MyComponent.tlb ファイルに格納されている MyTypeLib タイプ ライブラリをインポートする場合、既定のアセンブリ名は MyTypeLib になり、既定のアセンブリ ファイル名は MyTypeLib.dll になります。
一般的なガイドラインとして、VendorName.LibraryName の組み合わせを使用してプライマリ相互運用機能アセンブリを識別します。たとえば、MyCompany によって発行された MyTypeLib タイプ ライブラリを完全に識別するには、タイプ ライブラリをインポートするときに、既定のアセンブリ ファイル名 (MyTypeLib.dll) を、MyCompany.MyTypeLib.dll でオーバーライドします。
名前空間名。
タイプ ライブラリをインポートする場合は、タイプ ライブラリ名を使用して名前空間名が生成されます。インポート処理時に既定の名前空間をオーバーライドすることによって、名前空間名を指定できます。アセンブリ名で使用した命名規則 (VendorName.LibraryName) を名前空間についても使用します。
命名に関する考慮事項
命名に関する次の点について考慮してください。
将来、既存の COM 技術のマネージ バージョンの実装が計画されている場合があります。このような場合は、プライマリ相互運用機能アセンブリについては VendorName.LibraryName.Interop 名前空間を使用して、マネージ アセンブリ用に VendorName.LibraryName を予約しておくことを検討します。
命名要素に既定のアセンブリ名、ファイル名、および名前空間名を使用することによって、元の COM タイプ ライブラリとプライマリ相互運用機能アセンブリとのソースの互換性を維持することもできます。わかりにくくなりますが、この命名方法は Microsoft Visual Basic 6.0 の ADODB (ADO ライブラリ) などの既知のライブラリでも役立ちます。