COM 相互運用機能の side-by-side 実行
side-by-side 実行によって、COM アプリケーションは、COM 相互運用サービスを通じてマネージ コンポーネントの複数のバージョンに安全にアクセスできます。 side-by-side 実行の概念および構成モデルの概要については、「side-by-side 実行」を参照してください。
.NET Framework Version 4 以降では、COM 相互運用機能の side-by-side 実行が、一部のインプロセス シナリオに拡張されています。 .NET Framework 4 を使用して新しいマネージ COM コンポーネントを開発し、旧バージョンの .NET Framework で開発されたマネージ COM コンポーネントと共に、同じプロセス内でそのコンポーネントを並行して実行 (side-by-side 実行) できます。 互換性を最大にするために、各コンポーネントは、それぞれ固有のバージョンの .NET Framework を使用して実行されます。
これは、Microsoft Excel などのアプリケーションのインプロセスのアドインとして機能するマネージ COM コンポーネントに特に役立ちます。 .NET Framework 4 より前のバージョンでは、同じプロセス内で実行するマネージ COM コンポーネントが、同じバージョンの共通言語ランタイムを使用する必要がありました。 したがって、2 つのマネージ COM コンポーネントが別のバージョンの .NET Framework を使用してコンパイルされた場合は、両方のコンポーネントをより新しいバージョンで実行する必要がありました。 この場合、旧バージョンのコンポーネントに関する互換性の問題が発生する可能性があります。
.NET Framework 4 の CLR は、.NET Framework Version 1.1 の CLR または CLR Version 2.0 (.NET Framework Version 2.0 から .NET Framework Version 3.5 Service Pack 1 のすべてのバージョンの .NET Framework で共有されます) と共にインプロセスで実行できます。 つまり、.NET Framework 4 の新機能を使用すると、新しいバージョンの .NET Framework での旧バージョンのアドインの実行について配慮することなく、既存のアドインと side-by-side 実行されるアドインを開発できます。 「インプロセスの side-by-side 実行」を参照してください。
メモ |
---|
CLR Version 2.0 と CLR Version 1.1 を同じプロセス内で side-by-side 実行することはできません。.NET Framework Version 1.1 で作成されたコンポーネントと、CLR Version 2.0 を使用するバージョンの .NET Framework で作成されたコンポーネントの 2 つがあり、それらを同じプロセス内で実行する場合は、より新しい方のバージョンを使用する必要があります。 |
このセクションの内容
COM アプリケーションからのランタイム初期化
COM 相互運用機能でランタイム バージョンを選択し、マネージ型を解決する方法について説明します。バージョン依存レジストリ キー
複数のアセンブリ用のレジストリ サブキーを示します。side-by-side 実行のための COM アプリケーションの構成
ランタイムおよびマネージ コンポーネントのバージョンを指定するために使用される構成ファイルについて説明します。バージョン依存属性の適用
バージョン依存属性を示し、その使用方法について説明します。COM コンポーネントと side-by-side 実行
複数のバージョンの COM コンポーネントの影響について説明します。
関連項目
side-by-side 実行
side-by-side 実行の概要と、side-by-side 実行を使用してアプリケーション、コンポーネント、またはランタイム全体の複数のコピーを実行する方法について説明します。プライマリ相互運用機能アセンブリ
.NET Framework 4 より前のバージョンで開発されたマネージ COM コンポーネント用にプライマリ相互運用機能アセンブリを作成して使用する方法について説明します。登録を必要としない COM 相互運用機能
COM 相互運用機能で Windows レジストリを使用せずにコンポーネントをアクティブにする方法について説明します。