.net フレームワークの導入により、COM および DCOM での生のプログラミングは冗長になりましたか?
(System.EnterpriseServices 名前空間を介したトランザクション管理など、一部の COM+ サービスを使用する場合を除く)
OSがまだ管理されていないため、まだです。
MS が最終的に彼らのラボが何年にもわたって話してきたことを実行し、完全に管理された OS を生成するなら、それはそうなるでしょう。
ただし、そのOSには下位互換性はありません。最初に Office や IE などのマネージド バージョンを作成する必要があります。アンマネージド アプリを実行するには、仮想マシンを作成する必要があります。
その痛みは、Mac OS9 から OSX への移行に似たものになるでしょう。
COM は、MS が実際にドッグフード化した最後の主要テクノロジです。MS は、COM に依存する新しい API を構築し続けています。たとえば、Vista の新しい Media Foundation (これも COM ベースの DirectShow の後継の一種) は COM API です。Direct3D10 も同様です (D3D11 を想定しています)。すぐになくなるとは思いませんし、多くの Windows プログラミング タスクにとって、冗長性はまったくありません。
まだではありませんが、長期的にはそれを目指しています。下位レベルの場所は常に存在することは明らかですが、Microsoft の戦略について私が理解していることから、この動きは可能な限りマネージ コードに置き換える方向に進んでいます。
それは、「生」の意味に依存すると思います。.Net クラス ライブラリから COM API を公開する必要性は今でも時々あります。COM を介して小さな部分を置き換えることができるため、特定のプラットフォームから .Net への移行プロセスが非常に簡単になります。
.NET は、COM (およびその結果、DLL Hell) を置き換えるように意図的に設計されているため、.NET アプリケーションは引き続き COM コンポーネントにアクセスできますが、COM に固執する非常に正当な理由がある場合を除き、すべての新しい開発は .NET に移行することをお勧めします。 .