質問の根底にある前提は、Delphiコアの周りのC#ラッパーが保守と実行が簡単であるということであるように思われます。それが当てはまらない場合、ラッパーを作成するというアイデアはあまり役に立ちません。私はそれが間違って考えられた概念であると信じています。
望遠鏡と通信できるアプリケーションを作成したと想像してみてください。それは完璧に行います。その場合、望遠鏡の通信部分だけを抽出してDLLに入れ、望遠鏡との通信タスクを実行するためだけにDelphi DLLを使用するユーザーインターフェイスをC#で記述できる可能性があります。ただし、Delphiアプリケーションがすでに適切に構造化されていて、この望遠鏡通信ライブラリのようなタスクがすでに存在しない限り、Delphiアプリケーションの一部を抽出して、C#から使用するのは簡単ではありません。そのような状況が存在する場合は、ネイティブのDelphi DLL関数のエクスポートを使用して、C#からそれらを呼び出します。これは既存のdelphi実行可能ファイルを使用しておらず、Delphiアプリケーションの一部をC#から使用できるものにリファクタリングするために何時間もの作業を必要とします。
別の答えはCOMサーバーについて言及しており、それは可能ですが、物事を簡単にすることはできません。正規表現についての古いジョークのように。問題があり、正規表現を使用して解決しようとすると、2つの問題が発生します。COMサーバーを使用して既存のアプリケーションを非表示にし、C#を使用してその上にまったく新しいUIを作成しようとすると、同じことが当てはまります。純粋にデルファイまたは純粋にC#で開発を続けるよりも、実際には、改善、デバッグ、およびその方法での開発を継続するために、より多くの技術スキルが必要になります。これは、マイナスの労力の節約になります。
Delphiアプリケーションの機能に関する情報は提供していませんが、ファイル形式を読み取ったり、通信プロトコルを実行したり、古いデータベースに接続したりする基幹業務または垂直市場のアプリケーションであると仮定します。書き直したくない。
C#UIを作成することで、Delphiアプリケーションのユーザーインターフェイスを表示せずにC#のユーザーインターフェイスに置き換えることは、あなたのアイデアが何も改善せず、事態を悪化させるだけであることはほぼ間違いありません。デッドロックは、熟練したdelphi開発者がいないこと、または既存のアプリケーションが何をするかを理解できる賢い開発者がいないことから生じます。
このような状況では、通常、解決策は人間による解決策です。熟練したデルファイ開発者を雇い、アプリケーションを現代のDelphi時代(Delphi XE2)に持ち込むか、熟練した非デルファイ開発者を雇い、アプリケーションを他の言語に移植します。デルファイアプリケーションの上に「ラッパー」を書くことを提案し、それが「より簡単」になると考える人は、明らかに既存のアプリケーションを書き直すことができないと感じます。
確かに、あなたのdelphiアプリケーションが何をするのかについては十分にわかりませんが、「恐怖に駆られた」決定のように聞こえます。古いコードをラップすることは、ほとんどの場合、良い考えではなく、ほとんどの場合、より多くの問題を作成するだけです。