私はここにこれのさまざまな段階について投稿していますが、ここでもう一度ガイダンスを求めています。レガシーVB6アプリの交換
私たちは第三者に依存するアプリケーションを持っています。この依存関係は、COMを使用するサードパーティのためのvb6 'ラッパー' dllを介して管理されます。私たちが行うことができるように必要なもの
は、すべての参照をラッパーを再コンパイル、または変更する必要が私たちの新しいものと第3部DLLを交換していません。
私は、サードパーティのアプリケーションが公開しているインターフェイスをエミュレートするために必要なもののほとんどを書いています。また、コードでラッパーアプリケーションを開いて参照を元のサードパーティーはすべてうまく動作します。その他のコード変更は必要ありません。参照変更のみです。
これをさらに進める必要があります。私は、私たちのオリジナルのVB6ラッパーアプリをロードし、「使用のオリジナルがしたすべてのもの(ほとんどすべて)を露出された新しいC#.NETのDLLに持ってできるようにする必要があります。 ProgId、Guid、およびネームスペースを使用しているので、登録されたdllがRegDllBViewで表示されているときに、同じものが表示されるようになりました(スレッドの違いは異なります)。
dllexpでレガシーと新機能を開くと、公開されている機能は、新しい機能(DllUnregisterServer、DllRegisterServer、DllGetClassObject、DllCanUnloadNow)が公開されていない例外と同じですが、
問題は、私は私の新しいサードパーティと元ラッパーを登録するとき、私は「クラスがオートメーションをサポートしていないか、予測したインターフェースをサポートしていません 『』実行時エラー」430を得ることである
ありがたく受け取ったすべてのヘルプ!
を、私はすべてを試してみました!私は複製しようとしているdllのidlにニックネームを入れて、私が置き換えているものをすべて販売しています。私はちょうど同じオートメーションエラーを取得し続けます。 私は、古いものと新しいもののdllexportは、DLLなど登録の呼び出しによって異なることがalittleが心配です。これらは挑戦的に生成されていますか? –