次の方法で共有


COM 相互運用の概要 (Visual Basic)

コンポーネント オブジェクト モデル (COM) を使用すると、オブジェクトはその機能を他のコンポーネントに公開したり、アプリケーションをホストしたりできます。 COM オブジェクトは、長年にわたって Windows プログラミングの基礎となっていますが、共通言語ランタイム (CLR) 用に設計されたアプリケーションには多くの利点があります。

.NET Framework アプリケーションは、最終的に COM で開発されたものを置き換えます。 それまでは、Visual Studio を使用して COM オブジェクトを使用または作成しなければならない場合があります。 COM ( COM 相互運用機能) との相互運用性により、独自のペースで .NET Framework に移行しながら、既存の COM オブジェクトを使用できます。

.NET Framework を使用して COM コンポーネントを作成すると、登録不要の COM 相互運用機能を使用できます。 これにより、コンピューターに複数のバージョンがインストールされている場合に有効にする DLL のバージョンを制御でき、エンド ユーザーは XCOPY または FTP を使用して、実行できるコンピューター上の適切なディレクトリにアプリケーションをコピーできます。 詳細については、「 COM 相互運用Registration-Free」を参照してください。

マネージド コードとデータ

.NET Framework 用に開発されたコードは マネージド コードと呼ばれ、CLR によって使用されるメタデータが含まれています。 .NET Framework アプリケーションで使用される データは、ランタイム がメモリの割り当てと再利用、型チェックの実行などのデータ関連タスクを管理するため、マネージド データと呼ばれます。 既定では、Visual Basic .NET ではマネージド コードとデータが使用されますが、相互運用機能アセンブリ (このページで後述) を使用して COM オブジェクトのアンマネージ コードとデータにアクセスできます。

アセンブリ

アセンブリは、.NET Framework アプリケーションの主要な構成要素です。 これは、1 つ以上のファイルを含む 1 つの実装ユニットとしてビルド、バージョン管理、およびデプロイされる機能のコレクションです。 各アセンブリには、アセンブリ マニフェストが含まれています。

タイプ ライブラリとアセンブリ マニフェスト

タイプ ライブラリは、メンバー名やデータ型など、COM オブジェクトの特性を記述します。 アセンブリ マニフェストは、.NET Framework アプリケーションに対して同じ関数を実行します。 これには、次に関する情報が含まれます。

  • アセンブリ ID、バージョン、カルチャ、デジタル署名。

  • アセンブリの実装を構成するファイル。

  • アセンブリを構成する型とリソース。 これには、そこからエクスポートされたものが含まれます。

  • 他のアセンブリに対するコンパイル時の依存関係。

  • アセンブリを正しく実行するために必要なアクセス許可。

アセンブリとアセンブリ マニフェストの詳細については、「 .NET のアセンブリ」を参照してください。

タイプ ライブラリのインポートとエクスポート

Visual Studio には、タイプ ライブラリから .NET Framework アプリケーションに情報をインポートできるユーティリティ Tlbimp が含まれています。 Tlbexp ユーティリティを使用して、アセンブリからタイプ ライブラリを生成できます。

Tlbimp と Tlbexp の詳細については、「 Tlbimp.exe (タイプ ライブラリ インポーター) 」および 「Tlbexp.exe (タイプ ライブラリ エクスポーター)」を参照してください。

相互運用機能アセンブリ

相互運用機能アセンブリは、マネージド コードとアンマネージド コードの間をブリッジする .NET Framework アセンブリであり、COM オブジェクト メンバーを同等の .NET Framework マネージド メンバーにマッピングします。 Visual Basic .NET によって作成された相互運用機能アセンブリは、相互運用性マーシャリングなど、COM オブジェクトの操作に関する多くの詳細を処理します。

相互運用性マーシャリング

すべての .NET Framework アプリケーションは、使用されるプログラミング言語に関係なく、オブジェクトの相互運用性を可能にする一連の共通型を共有します。 COM オブジェクトのパラメーターと戻り値では、マネージド コードで使用されているものとは異なるデータ型が使用される場合があります。 相互運用性マーシャリング は、パラメーターをパッケージ化し、COM オブジェクトとの間で移動する同等のデータ型に値を返すプロセスです。 詳細については、「 相互運用マーシャリング」を参照してください。

こちらも参照ください