アプリケーション モジュールであるいくつかのクラス ライブラリを含む Windows フォーム アプリケーション用の Visual Studio ソリューションがあります。私のアプリケーションは「任意の CPU」で実行され、64 ビットの dll 参照を大量に使用するため、「x86」に変更できません。
アプリ モジュールの 1 つで使用する必要があるネイティブ C++ 32 ビット dllがありますが、それはまったく不可能であり、ラッパーを使用したくないため、最も簡単なのはセルフ ホスト WCF サービスを使用することであると読みました。
私が考えていたアプローチは、ソリューション内でネイティブ C++ 32 ビット dll を参照し、WCF サービスをホストするコンソール アプリケーション (32 ビット) プロジェクトを作成することです。ユーザーがアプリ モジュールを開くと、Process.Start(自己ホスト型の wcf コンソール app.exe)を呼び出すので、WCF サービスが開始され、Windows フォーム アプリケーションからメソッドなどにアクセスできます。その後、ネイティブ 32 ビット dll を使用できるようになります。メソッド。
これはアウトプロセスアプリケーションとして知られていると思います。
これを行うためのより良い方法があると思う人はいますか?.EXE アプリ (メイン アプリの exe と自己ホスト型の wcf.exe) が必要なのが本当に好きではありません。メインの app.exe 64 ビット プロジェクト内に自己ホスト型の wcf 32 ビット プロジェクトを配置できますか? 可能であれば、どのように呼び出すことができますか?
前もって感謝します