抱歉标题混乱,
我正在使用 c# 并尝试使用 ArcMap,它是一堆 dll,允许我使用地理文件并用 c++ 编写然后包装在托管 c++ 中,我在工作场所拥有的 Arcmap 版本是 32 位,所以与其 Dll 交互的唯一方法是开发 32 位应用程序。
我有一个 64 位应用程序,它使用我编写的位于另一个 dll 中的类(我可以将其设为 32 位或以任何必要的方式进行配置),该类加载 ArcMap dll 并尝试使用它们来读取一些文件(形状文件)..
问题是我无法从 64 位应用程序加载 32 位类...而且我无法将使用 Arcmap 对象的类从 32 位更改为 64 位,因为这样将无法加载 arcmap dll。
我目前唯一的解决方案是将类转换为控制台项目,将其作为 32 位运行并等待它完成,控制台项目会将他红色的数据写入 txt 文件,然后我将从我原来的 64 位读取应用。
这是我曾经遇到过的最丑陋的解决方法,我希望有人可以帮助我找到更好的解决方案。
提前致谢,
PS如果我的问题中的某些部分不清楚,请评论什么,我会尽力解释我的意思。