MFC6にはいくつかのプロジェクトがあり、DotNet4には1つのプロジェクトがあります.MFCプロジェクトと.NETプロジェクト間の通信はCOM経由であり、COMサーバーは.Net側。 COMサーバーはRagAsm.exeを介して登録されています。 MFCで私はこのような、このCOMサーバーのインスタンスを作成します。特定のdllバージョンのCOleDispatchDriver :: CreateDispatchを呼び出す
CreateDispatch(_T("PROGID.namespace"))
問題は、COMサーバーが異なるプロジェクトで使用されていること、です。ですから、コード変更のために私のcomサーバdllのバージョン番号を増やしたいのであれば、RegAsmに再度登録しなければなりませんでした。今、私のレジストリにこのdllの2つのバージョンがあります。しかし、CreateDispatchメソッドを呼び出すと、プログラムは毎回最新のものを読み込もうとします。つまり、古いバージョンを含むプロジェクトは、正しいdllを見つけることができなくなります。 CreateDispatch()を呼び出すときにバージョンを指定することはできないようです。
この問題を解決する別の可能性はありますか?