目標を慎重に検討してください。COM Foundation の置き換えだけに関心がありますか? データベースの実装も変更しますか (たとえば、インデックスから SQL に?) 画面を (GUI から Web に?) ...?
これが非常に小さなアプリケーションであれば、完全に手作業で書き直すことができるかもしれません。適度なサイズの場合は、既存のアプリケーションを変更できる可能性があります (おそらく、COM 機能を他の同等のスキームに置き換えるため)。これが中規模から大規模の場合、合理的な時間枠内で確実に書き直したり変更したりすることは事実上不可能です。
このような大規模な変更については、変更の自動化を検討することをお勧めします。このような変更を実装するためのツールは、 DMS Software Reengineering Toolkitにあります。DMS を使用して、C++ コードの 800K SLOC を持つ顧客のために、C++ から C# へのトランスレータのほとんどを実装し、COM インターフェイスを同等の C# 機能に置き換えました (プロジェクト全体の約 3/4 でバードケージ管理シャッフルにより、ほぼ完全であるにもかかわらず、翻訳されています)。
これを行う際に考慮すべきことの 1 つは、機能を変更せずにアプリケーションを最新化することに集中することです。多くの場合、管理者はスコープ クリープ (「まあ、そこにいる間にアプリケーションを変更して...」) に抵抗できません。これは惨事への道です。現在のものにつながるすべての変更を行うには何年もかかったということを覚えておいてください。