很抱歉的混亂冠軍,在應用程序爲64位時以32位模式運行代碼,有可能嗎?
我使用C#和試圖用ArcMap的是dll文件的一堆,讓我與地理文件的工作和writen在C++中,然後包裹在託管C工作++,ArcMap的版本我在我的工作地點使用的是32位,因此與Dll交互的唯一方法是開發32位應用程序。
我有一個64位的應用程序,它使用了我編寫的位於另一個dll中的類(我可以創建32位或以任何必要的方式進行配置),該類加載ArcMap dll並嘗試使用它們讀取一些文件(形狀文件)..
問題是,我無法從64位應用程序加載32位類...並且我無法更改使用ArcMap對象從32位到64位的類,因爲然後arcmap DLL將不會加載。
我目前唯一的解決方案是將該類轉換爲控制檯項目,將其作爲32位運行並等待它完成,控制檯項目會將他紅色的數據寫入txt文件,然後我將讀取從我原來的64位應用程序。
這是我遇到的最醜陋的解決方法,我希望有人能幫助我找到更好的解決方案。
由於提前,
P.S 如果我的問題有些部分還不清楚請評論什麼,我會盡力解釋我的意思。
可能重複:http://stackoverflow.com/questions/6744284/use-a-32 bit位組裝在64位環境 – Nenad
是否有可能將64位應用程序轉換爲32位?除此之外,您可以使用進程間通信,但它不會比使用文本文件傳遞數據好得多。 – Andre