紛らわしいタイトルで申し訳ありませんが、
私は c# を使用しており、ArcMap を操作しようとしています。これは、地理ファイルを操作して c++ で記述し、マネージド c++ でラップできるようにする dll の束です。私の職場にある Arcmap のバージョンは 32 ビットなので、 Dll と対話する唯一の方法は、32 ビット アプリケーションを開発することです。
別のdllにある私が書いたクラスを使用する64ビットアプリケーションがあります(32ビットにするか、必要に応じて構成できます)。クラスはArcMap dllをロードし、それらを使用してファイルを読み取ろうとします(形状ファイル)..
問題は、64 ビット アプリケーションから 32 ビット クラスをロードできないことです。また、Arcmap オブジェクトを使用するクラスを 32 ビットから 64 ビットに変更できません。これは、Arcmap DLL がロードされないためです。
私が現在持っている唯一の解決策は、クラスをコンソール プロジェクトに変換し、それを 32 ビットとして実行し、それが完了するのを待つことです。コンソール プロジェクトは、彼が赤くしたデータを txt ファイルに書き込みます。応用。
これは私が今まで持っていた最も醜い回避策です。誰かがより良い解決策を見つけるのを手伝ってくれることを願っています.
前もって感謝します、
PS私の質問の一部が不明な場合は、何をコメントしてください。私が何を意味したかを説明しようとします。